:root{--background:#0b0f0c;--surface:#121a14;--surface-raised:#182218;--border:#2c3a2e;--text-primary:#e8f5e9;--text-secondary:#a9c4ae;--lab-green:#39ff14;--lab-green-deep:#1b7f3b;--lab-purple:#b388ff;--amber-accent:#ffb300;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--background);--code-bg:var(--surface-raised);--accent:var(--lab-green);--accent-bg:#39ff141a;--accent-border:#39ff1480;--social-bg:#18221880;--shadow:#00000080 0 10px 15px -3px, #00000059 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{color:var(--text-primary);background:var(--background);margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{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%}.frankendata-dropzone-wrapper{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.frankendata-dropzone{box-sizing:border-box;border:3px double var(--accent-border);background:radial-gradient(120% 90% at 50% 0%, #39ff1414 0%, #39ff1400 60%), var(--surface);width:100%;color:var(--text-primary);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:44px 28px;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;display:flex;position:relative}.frankendata-dropzone:before{content:"";border:2px dashed var(--border);pointer-events:none;border-radius:10px;transition:border-color .14s,opacity .14s;position:absolute;inset:10px}.frankendata-dropzone:hover,.frankendata-dropzone:hover:before{border-color:var(--accent-border)}.frankendata-dropzone:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.frankendata-dropzone--dragging,.frankendata-dropzone[data-dragging=true]{border-color:var(--accent);background:radial-gradient(120% 90% at 50% 0%, #39ff1438 0%, #39ff1400 65%), var(--accent-bg);box-shadow:0 0 0 3px var(--accent-border), 0 0 26px #39ff1459, inset 0 0 22px #39ff142e;transform:translateY(-2px)}.frankendata-dropzone--dragging:before,.frankendata-dropzone[data-dragging=true]:before{border-color:var(--accent)}.frankendata-dropzone--dragging .frankendata-dropzone__headline:before,.frankendata-dropzone[data-dragging=true] .frankendata-dropzone__headline:before{content:none}.frankendata-dropzone__headline{color:var(--text-h);letter-spacing:.2px;text-align:center;margin:0;font-size:1.05em;font-weight:600}.frankendata-dropzone__hint{color:var(--text-secondary);margin:0;font-size:.88em}.frankendata-dropzone--dragging .frankendata-dropzone__hint,.frankendata-dropzone[data-dragging=true] .frankendata-dropzone__hint{color:var(--text-primary)}.frankendata-dropzone__browse{font:inherit;border:1px solid var(--accent-border);background:var(--surface-raised);color:var(--text-primary);letter-spacing:.2px;cursor:pointer;border-radius:999px;margin-top:4px;padding:9px 18px;font-weight:500;transition:border-color .12s,background .12s,box-shadow .12s}.frankendata-dropzone__browse:hover{border-color:var(--accent);background:var(--accent-bg)}.frankendata-dropzone__browse:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.frankendata-dropzone__guidance{color:var(--amber-accent);margin:0;font-size:.9em}.frankendata-dropzone__input{display:none}@media (prefers-reduced-motion:reduce){.frankendata-dropzone,.frankendata-dropzone:before,.frankendata-dropzone__browse{transition:none}.frankendata-dropzone--dragging,.frankendata-dropzone[data-dragging=true]{transform:none}}.frankendata-dropzone__flask{pointer-events:none;width:40px;height:46px}.frankendata-dropzone__flask-glass{stroke:var(--accent-border);stroke-width:2px;stroke-linejoin:round}.frankendata-dropzone__flask-liquid{fill:var(--lab-green-deep);opacity:.55}.frankendata-dropzone__bubble{fill:var(--lab-green);opacity:0;animation:4.5s ease-in-out infinite frankendata-bubble-rise}.frankendata-dropzone__bubble--2{animation-duration:5.5s;animation-delay:1.4s}.frankendata-dropzone__bubble--3{animation-duration:6.2s;animation-delay:2.6s}@keyframes frankendata-bubble-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.85}80%{opacity:.6}to{opacity:0;transform:translateY(-16px)}}.frankendata-dropzone--dragging:before,.frankendata-dropzone[data-dragging=true]:before{animation:.6s steps(2,end) infinite frankendata-crackle}@keyframes frankendata-crackle{0%{opacity:.85;box-shadow:inset 0 0 8px #39ff1440}50%{opacity:1;box-shadow:inset 0 0 20px #39ff14b3}to{opacity:.8;box-shadow:inset 0 0 6px #39ff1433}}@media (prefers-reduced-motion:reduce){.frankendata-dropzone__bubble{opacity:0;animation:none}.frankendata-dropzone--dragging:before,.frankendata-dropzone[data-dragging=true]:before{animation:none}}.frankendata-demo-control{flex-direction:column;justify-content:center;align-items:center;display:flex}.frankendata-demo-control__button{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 16px;transition:border-color .12s,background .12s,box-shadow .12s}.frankendata-demo-control__button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border) inset}.frankendata-demo-control__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.frankendata-demo-control__button:disabled{cursor:not-allowed;opacity:.65}.frankendata-demo-control__tag{border:1px solid var(--amber-accent);color:var(--text-primary);letter-spacing:.3px;text-transform:uppercase;background:#ffb3001f;border-radius:999px;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.lab-intro{pointer-events:none;z-index:1;height:120px;position:absolute;inset:-24px 0 auto}.lab-intro__flash{opacity:0;background:radial-gradient(at 50% 30%,#ffffffe6,#fff0 60%);height:200px;animation:2.2s ease-out lab-intro-flash;position:absolute;inset:-40px -40px auto}@keyframes lab-intro-flash{0%{opacity:0;background:#080a0959}18%{opacity:.35;background:#080a0959}40%{opacity:0}44%{opacity:.85}52%{opacity:0}to{opacity:0}}.lab-intro__bolt{width:120px;height:120px;position:absolute;top:-28px}.lab-intro__bolt--left{left:calc(50% - 190px)}.lab-intro__bolt--right{right:calc(50% - 190px)}.lab-intro__bolt-path{stroke:var(--lab-green);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px #39ff14e6);stroke-dasharray:260;stroke-dashoffset:260px;opacity:0;animation:2.2s ease-out lab-intro-bolt}@keyframes lab-intro-bolt{0%,8%{stroke-dashoffset:260px;opacity:0}10%{opacity:1}22%{stroke-dashoffset:0;opacity:1}40%{opacity:.9}52%{opacity:0}to{stroke-dashoffset:0;opacity:0}}.lab-node{flex:none;width:30px;height:1em;overflow:visible}.lab-node__base{fill:var(--surface-raised);stroke:var(--border);stroke-width:1.5px}.lab-node__ball{fill:var(--lab-green-deep);stroke:var(--lab-green);stroke-width:1.5px;filter:drop-shadow(0 0 5px #39ff14b3)}.lab-node__arc{stroke:var(--lab-green);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #39ff14e6);opacity:0;animation:7s ease-out 2.4s infinite lab-node-spark}.lab-node--right .lab-node__arc{animation-duration:8s;animation-delay:3.4s}@keyframes lab-node-spark{0%,97%,to{opacity:0}98%{opacity:1}99%{opacity:.4}}.lab-title__seam{vertical-align:baseline;align-items:center;margin:0 .06em;display:inline-flex}.lab-title__seam-svg{width:.34em;height:.72em}.lab-seam-line{stroke:var(--lab-green-deep);stroke-width:1.5px;opacity:.5}.lab-seam-stitch{stroke:var(--lab-green);stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 3px #39ff14b3);stroke-dasharray:14;stroke-dashoffset:14px;animation:2.2s ease-out forwards lab-seam-stitch}.lab-seam-stitch:first-child{animation-delay:.48s}.lab-seam-stitch:nth-child(2){animation-delay:.54s}.lab-seam-stitch:nth-child(3){animation-delay:.6s}.lab-seam-stitch:nth-child(4){animation-delay:.66s}.lab-seam-stitch:nth-child(5){animation-delay:.72s}.lab-seam-stitch:nth-child(6){animation-delay:.78s}.lab-seam-stitch:nth-child(7){animation-delay:.84s}.lab-seam-stitch:nth-child(8){animation-delay:.9s}@keyframes lab-seam-stitch{0%{stroke-dashoffset:14px}to{stroke-dashoffset:0}}@media (width<=639px){.lab-node{display:none}}@media (prefers-reduced-motion:reduce){.lab-intro__flash,.lab-intro__bolt-path,.lab-node__arc{opacity:0;animation:none}.lab-seam-stitch{stroke-dashoffset:0;animation:none}}#lab{padding-bottom:168px}.specimen-layer{z-index:2;position:fixed;bottom:12px;left:12px}.specimen-button{cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;display:block}.specimen-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.specimen{width:94px;height:140px;display:block;position:relative}.specimen__body{width:94px;height:140px;display:block}.specimen__grid line,.specimen__grid-frame,.specimen__head{stroke:var(--lab-green);stroke-width:1.6px}.specimen__grid-frame,.specimen__head{fill:var(--surface-raised)}.specimen__slab{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.specimen__slab-leg{stroke:var(--border);stroke-width:2px}.specimen__stitches line{stroke:var(--lab-green);stroke-width:1.5px;stroke-linecap:round}.specimen__leg,.specimen__arm{fill:var(--surface);stroke:var(--lab-green-deep);stroke-width:1.4px}.specimen__arm--right{fill:var(--lab-purple)}.specimen__eye{fill:var(--text-primary)}.specimen__lid{stroke:var(--text-secondary);stroke-width:1.6px;stroke-linecap:round;opacity:0}.specimen__electrode{stroke:var(--text-secondary);stroke-width:1.5px}.specimen__electrode-tip{fill:var(--lab-green)}.specimen__electrode-spark{stroke:var(--lab-green);stroke-width:1.4px;stroke-linecap:round;filter:drop-shadow(0 0 3px #39ff14cc);opacity:0}.specimen__goggles circle{fill:#39ff141f;stroke:var(--amber-accent);stroke-width:1.6px}.specimen__bandage{fill:#e9efe9;stroke:#b9c7b9;stroke-width:.6px}.specimen__patch{fill:var(--surface);stroke:var(--lab-green);stroke-width:1.4px}.specimen__extra-cell{fill:var(--surface-raised);stroke:var(--lab-green);stroke-width:1.4px}.specimen__clipboard rect{fill:var(--surface-raised);stroke:var(--border);stroke-width:1.2px}.specimen__clipboard polyline{stroke:var(--lab-green);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:none}.specimen__plaster{fill:#e9efe9;stroke:#b9c7b9;stroke-width:.6px}.specimen__star{fill:var(--amber-accent);font-size:7px;font-weight:700}.specimen__bolt{opacity:0;width:18px;height:34px;position:absolute;top:-6px;left:42%;transform:translate(-50%)}.specimen__bolt-path{stroke:var(--lab-green);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px #39ff14e6)}.specimen__sign{width:24px;height:18px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.specimen__sign-bg{fill:var(--surface-raised);stroke:var(--amber-accent);stroke-width:1px}.specimen__bar{fill:var(--lab-green)}.specimen__bubble{border:1px solid var(--lab-green);background:var(--surface-raised);color:var(--text-primary);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;line-height:1.4;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.specimen__bubble--dots i{background:var(--text-primary);border-radius:50%;width:4px;height:4px;margin:0 1px;animation:1.2s ease-in-out infinite specimen-dot;display:inline-block}.specimen__bubble--dots i:nth-child(2){animation-delay:.2s}.specimen__bubble--dots i:nth-child(3){animation-delay:.4s}@keyframes specimen-dot{0%,to{opacity:.3}50%{opacity:1}}.specimen__zzz{color:var(--text-secondary);opacity:.7;font-size:12px;font-style:italic;animation:3s ease-in-out infinite specimen-zzz;position:absolute;top:30px;left:62%}@keyframes specimen-zzz{0%{opacity:0;transform:translateY(0)}30%{opacity:.8}to{opacity:0;transform:translateY(-10px)}}.specimen--asleep{filter:grayscale()brightness(.85)}.specimen--asleep .specimen__eye{opacity:0}.specimen--asleep .specimen__lid{opacity:1}.specimen--asleep .specimen__body{transform-origin:50% 90%;transform:rotate(3deg)}.specimen--awake .specimen__body{transform-origin:50% 90%;animation:3s ease-in-out infinite specimen-breathe}.specimen--awake .specimen__eye{animation:5s step-end infinite specimen-blink}.specimen--awake .specimen__electrode-spark{animation:7s ease-out infinite specimen-electrode}@keyframes specimen-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes specimen-blink{0%,92%,to{opacity:1}94%,98%{opacity:.1}}@keyframes specimen-electrode{0%,96%,to{opacity:0}97%{opacity:1}98%{opacity:.3}}.specimen--alive{filter:drop-shadow(0 0 8px #39ff14b3)}.specimen--alive .specimen__body{transform-origin:50% 90%;animation:3s ease-in-out infinite specimen-breathe}.specimen--alive .specimen__grid-frame,.specimen--alive .specimen__head{stroke:var(--lab-green)}.specimen--react-alive .specimen__bolt,.specimen--react-stitched .specimen__bolt,.specimen--react-poke-jolt .specimen__bolt{opacity:1;animation:.5s ease-out specimen-bolt}@keyframes specimen-bolt{0%{opacity:1}70%{opacity:1}to{opacity:0}}.specimen--react-poke-jolt .specimen__body{animation:.3s ease-in-out 3 specimen-jolt}@keyframes specimen-jolt{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.specimen--react-poke-wave .specimen__arm--right{transform-box:fill-box;transform-origin:0;animation:.3s ease-in-out 3 specimen-wave}@keyframes specimen-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-35deg)}}.specimen--react-poke-spin .specimen__body{transform-origin:50% 60%;animation:1s ease-in-out specimen-spin}@keyframes specimen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.specimen--react-poke-giggle .specimen__body,.specimen--react-hmm .specimen__eye{animation:.3s ease-in-out 3 specimen-giggle}@keyframes specimen-giggle{0%,to{transform:rotate(0)}33%{transform:rotate(-3deg)}66%{transform:rotate(3deg)}}.specimen--react-ugh .specimen__body{animation:.12s ease-in-out 6 specimen-shake}@keyframes specimen-shake{0%,to{transform:translate(0)}50%{transform:translate(-3px)}}.specimen--react-reset .specimen__eye{opacity:0}.specimen--react-reset .specimen__lid{opacity:1;stroke:var(--amber-accent)}@media (width<=639px){.specimen-layer{display:none}}@media (prefers-reduced-motion:reduce){.specimen__body,.specimen__eye,.specimen__electrode-spark,.specimen__arm--right,.specimen__bolt,.specimen__zzz,.specimen__bubble--dots i{animation:none!important}.specimen__bolt{opacity:0}}.table-preview{box-sizing:border-box;text-align:left;flex-direction:column;gap:24px;width:100%;display:flex}.table-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-preview-card__header{background:var(--surface-raised);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding:12px 16px;display:flex}.table-preview-card__title{font-family:var(--mono);color:var(--text-h);margin:0;font-size:18px}.table-preview-card__source{color:var(--text-secondary);margin:0;font-size:14px}.table-preview-card__rowcount{color:var(--amber-accent);font-size:14px;font-family:var(--mono);margin:0 0 0 auto}.table-preview-card__scroll{max-height:420px;overflow:auto}.table-preview-card__table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:14px}.table-preview-card__caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-preview-card__th{z-index:2;text-align:left;vertical-align:top;background:var(--surface-raised);border-right:1px solid var(--border);box-shadow:inset 0 -2px 0 0 var(--lab-green-deep);white-space:nowrap;padding:10px 12px;position:sticky;top:0}.table-preview-card__th:last-child{border-right:none}.table-preview-card__col-name{color:var(--text-h);font-weight:600;display:block}.table-preview-card__col-type{color:var(--lab-green);font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;margin-top:3px;font-size:12px;display:block}.table-preview-card__td{color:var(--text-primary);border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 12px}.table-preview-card__td:last-child{border-right:none}.table-preview-card__tbody tr:nth-child(2n) .table-preview-card__td{background:var(--surface-raised)}.table-preview-card__tbody tr:hover .table-preview-card__td{background:var(--accent-bg)}.table-preview-card__td--null{color:var(--text-secondary);font-style:italic}.table-preview-card__empty{text-align:center;color:var(--text-secondary);padding:16px 12px;font-style:italic}.error-display{text-align:left;background:var(--surface);border:1px solid var(--amber-accent);box-shadow:var(--shadow);border-left-width:4px;border-radius:6px;margin:16px 0;padding:12px 16px}.error-display__title{color:var(--amber-accent);margin:0 0 8px;font-size:18px}.error-display__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.error-display__item{background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;padding:8px 10px}.error-display__file{font-family:var(--mono);color:var(--text-primary);word-break:break-word;font-weight:600}.error-display__kind{font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.4px;color:var(--background);background:var(--amber-accent);vertical-align:middle;border-radius:3px;margin-left:8px;padding:1px 6px}.error-display__message{color:var(--text-primary);margin:4px 0 0}.approval-screen{box-sizing:border-box;text-align:left;flex-direction:column;gap:20px;width:100%;display:flex}.approval-screen__header{flex-direction:column;gap:4px;display:flex}.approval-screen__title{color:var(--text-h);margin:0}.approval-screen__subtitle{color:var(--text-secondary);margin:0;font-size:14px}.approval-screen__notice{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-primary);border-radius:6px;margin:4px 0 0;padding:6px 10px;font-size:14px}.approval-screen__actionbar{z-index:5;background:var(--background);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 4px;display:flex;position:sticky;top:0}.approval-screen__actionbar-group{flex-wrap:wrap;gap:12px;display:flex}.approval-screen__progress{color:var(--text-secondary);white-space:nowrap;margin:0;font-size:13px}.approval-screen__reason{color:var(--text-secondary);font-size:12px}.approval-screen__status{min-width:1px;color:var(--lab-green);margin:0;font-size:13px}.approval-screen__bulk,.approval-screen__confirm{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 16px;transition:border-color .12s,background .12s,box-shadow .12s}.approval-screen__confirm{border-color:var(--lab-green);background:var(--surface-raised)}.approval-screen__bulk:hover:not(:disabled),.approval-screen__confirm:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border) inset}.approval-screen__bulk:focus-visible,.approval-screen__confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.approval-screen__bulk:disabled,.approval-screen__confirm:disabled{cursor:not-allowed;opacity:.55}.approval-screen__empty{border:1px dashed var(--border);background:var(--surface);color:var(--text-secondary);border-radius:8px;margin:0;padding:16px;font-style:italic}.approval-screen__group{flex-direction:column;gap:12px;display:flex}.approval-screen__group-title{color:var(--text-h);margin:0;font-size:18px}.approval-screen__list{flex-direction:column;gap:12px;display:flex}.stitch-proposal{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.stitch-proposal__header{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.stitch-proposal__title{color:var(--text-h);margin:0;font-size:15px;font-weight:600}.stitch-proposal__confidence{color:var(--amber-accent);font-family:var(--mono);margin-left:auto;font-size:14px}.stitch-proposal__target{color:var(--text-secondary);font-family:var(--mono);margin-left:auto;font-size:13px}.stitch-proposal__reason{color:var(--text-secondary);margin:0;font-size:14px}.stitch-diff{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.stitch-diff__side{border:1px solid var(--border);background:var(--surface-raised);border-radius:6px;flex-direction:column;flex:180px;gap:2px;padding:8px 10px;display:flex}.stitch-diff__side--after{border-color:var(--lab-green-deep)}.stitch-diff__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stitch-diff__value{color:var(--text-primary);font-family:var(--mono);word-break:break-word;font-size:14px}.stitch-diff__value--whitespace{white-space:pre;word-break:break-all}.stitch-proposal__reason-example{font-family:var(--mono);display:inline}.stitch-diff__type{color:var(--lab-green);font-family:var(--mono);text-transform:uppercase;font-size:11px}.stitch-diff__arrow{color:var(--lab-green);align-self:center;font-size:20px}.stitch-proposal__edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stitch-proposal__edit-label{color:var(--text-secondary);font-size:13px}.stitch-proposal__select,.stitch-proposal__input{font:inherit;border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:6px;padding:6px 8px;font-size:14px}.stitch-proposal__select:focus-visible,.stitch-proposal__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stitch-proposal__actions{gap:10px;display:flex}.stitch-proposal__action{font:inherit;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:14px}.stitch-proposal__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stitch-proposal__action--approve[aria-pressed=true]{border-color:var(--lab-green);background:var(--accent-bg)}.stitch-proposal__action--reject[aria-pressed=true]{border-color:var(--amber-accent);background:#ffb3001f}.stitch-engine-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.stitch-engine-badge--rules{border-color:var(--lab-green-deep);color:var(--lab-green)}.stitch-engine-badge--ai{border-color:var(--lab-purple);color:var(--lab-purple)}.stitch-ai-found{font-family:var(--mono);letter-spacing:.4px;border:1px solid var(--lab-purple);color:var(--lab-purple);background:#b388ff26;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.stitch-proposal--approved{border-left:3px solid var(--lab-green)}.stitch-proposal--rejected{opacity:.55}.stitch-proposal__badge{letter-spacing:.3px;text-transform:uppercase;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.stitch-proposal__badge--approved{border:1px solid var(--lab-green);background:var(--accent-bg);color:var(--text-primary)}.stitch-proposal__badge--rejected{border:1px solid var(--amber-accent);color:var(--text-primary);background:#ffb3001f}@media (prefers-reduced-motion:reduce){.stitch-proposal,.stitch-proposal__action{transition:none}}.join-controls{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px;flex-direction:column;gap:16px;width:100%;padding:16px;display:flex}.join-controls__header{flex-direction:column;gap:4px;display:flex}.join-controls__title{color:var(--text-h);margin:0;font-size:18px}.join-controls__subtitle{color:var(--text-secondary);margin:0;font-size:14px}.join-controls__row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.join-controls__join-type{border:1px solid var(--lab-green-deep);color:var(--lab-green);font-family:var(--mono);letter-spacing:.5px;border-radius:999px;padding:6px 12px;font-size:13px}.join-controls__field{flex-direction:column;gap:4px;display:flex}.join-controls__field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.join-controls__select{font:inherit;border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:6px;padding:6px 8px;font-size:14px}.join-controls__select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.join-controls__keys{flex-direction:column;gap:8px;display:flex}.join-controls__keys-title{color:var(--text-h);margin:0;font-size:15px}.join-controls__keys-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.join-controls__key{flex-direction:column;gap:4px;display:flex}.join-controls__key-single{color:var(--text-primary);font-family:var(--mono);font-size:14px}.join-controls__actions{flex-wrap:wrap;gap:12px;display:flex}.join-controls__apply,.join-controls__undo{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 16px;transition:border-color .12s,background .12s,box-shadow .12s}.join-controls__apply{border-color:var(--lab-green);background:var(--surface-raised)}.join-controls__apply:hover:not(:disabled),.join-controls__undo:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border) inset}.join-controls__apply:focus-visible,.join-controls__undo:focus-visible,.join-controls__warning-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.join-controls__apply:disabled{cursor:not-allowed;opacity:.55}.join-controls__warning{border:1px solid var(--amber-accent);background:#ffb3001a;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.join-controls__warning-title{color:var(--amber-accent);margin:0;font-size:14px;font-weight:600}.join-controls__warning-counts{color:var(--text-primary);font-family:var(--mono);margin:0;font-size:14px}.join-controls__warning-help{color:var(--text-secondary);margin:0;font-size:13px}.join-controls__warning-cancel{font:inherit;border:1px solid var(--amber-accent);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;border-radius:6px;align-self:flex-start;padding:6px 14px;font-size:14px}@keyframes join-controls-alive{0%{box-shadow:0 0 #39ff1400}15%{box-shadow:0 0 24px 6px #39ff14d9}40%{box-shadow:0 0 10px 2px #39ff1473}60%{box-shadow:0 0 22px 5px #39ff14b3}to{box-shadow:0 0 #39ff1400}}.join-controls--alive{animation:1s ease-out join-controls-alive}@media (prefers-reduced-motion:reduce){.join-controls--alive{animation:none}}.ask-sql{box-sizing:border-box;text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.ask-sql__explanation{color:var(--text-secondary);margin:0;font-size:14px}.ask-sql__code-wrap{align-items:flex-start;gap:8px;display:flex;position:relative}.ask-sql__code{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);white-space:pre-wrap;word-break:break-word;border-radius:6px;flex:auto;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;overflow-x:auto}.ask-sql__copy{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:4px;flex:none;padding:6px 10px;font-size:12px}.ask-sql__copy:hover{border-color:var(--accent)}.ask-result{box-sizing:border-box;text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.ask-result__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ask-result__note{color:var(--text-secondary);margin:0;font-size:13px}.ask-result__download{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:13px}.ask-result__download:disabled{opacity:.5;cursor:default}.ask-result__scroll{border:1px solid var(--border);border-radius:6px;overflow-x:auto}.ask-result__table{border-collapse:collapse;width:100%;font-size:13px}.ask-result__th,.ask-result__td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 10px}.ask-result__thead{background:var(--surface-raised)}.ask-result__th{color:var(--text-h);font-weight:600}.ask-result__td{color:var(--text-primary)}.ask-result__empty{color:var(--text-secondary);text-align:center;padding:12px}.ask-chips{text-align:left;flex-direction:column;gap:8px;display:flex}.ask-chips__label{color:var(--text-secondary);margin:0;font-size:13px}.ask-chips__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ask-chips__chip{border:1px solid var(--lab-purple);color:var(--text-h);cursor:pointer;background:#b388ff1a;border-radius:999px;padding:6px 12px;font-size:13px}.ask-chips__chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.ask-chips__chip:disabled{opacity:.5;cursor:default}.ask-chart{box-sizing:border-box;text-align:left;width:100%;margin:0}.ask-chart__caption{color:var(--text-secondary);margin:0 0 6px;font-size:13px}.ask-chart__svg{width:100%;max-width:560px;height:auto;display:block}.ask-chart__axis{stroke:var(--border);stroke-width:1px}.ask-chart__bar{fill:var(--lab-green)}.ask-chart__bar:hover{fill:var(--lab-green-deep)}.ask-chart__tick,.ask-chart__xlabel{fill:var(--text-secondary);font-size:11px}.ask-chart__value{fill:var(--text-primary);font-size:11px}.ask-panel{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px;flex-direction:column;gap:16px;width:100%;padding:16px;display:flex}.ask-panel__header{flex-direction:column;gap:4px;display:flex}.ask-panel__title{color:var(--text-h);margin:0;font-size:20px}.ask-panel__subtitle{color:var(--text-secondary);margin:0;font-size:14px}.ask-panel__privacy{border:1px dashed var(--border);background:var(--surface-raised);color:var(--text-secondary);border-radius:6px;margin:0;padding:8px 10px;font-size:12px}.ask-panel__form{flex-wrap:wrap;gap:8px;display:flex}.ask-panel__input{border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:6px;flex:260px;padding:10px 12px;font-size:14px}.ask-panel__input:focus{border-color:var(--accent);outline:none}.ask-panel__submit{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:6px;flex:none;padding:10px 18px;font-size:14px}.ask-panel__submit:disabled{opacity:.5;cursor:default}.ask-panel__history,.ask-panel__history-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ask-panel__history{flex-direction:column;align-items:flex-start;gap:6px}.ask-panel__history-label{color:var(--text-secondary);margin:0;font-size:12px}.ask-panel__history-list{margin:0;padding:0;list-style:none}.ask-panel__history-item{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.ask-panel__history-item:hover:not(:disabled){color:var(--text-h);border-color:var(--accent)}.ask-panel__ai-note,.ask-panel__loading{color:var(--text-secondary);margin:0;font-size:13px}.ask-panel__outcome{flex-direction:column;gap:12px;display:flex}.ask-panel__message{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);border-radius:6px;margin:0;padding:10px 12px;font-size:14px}.ask-panel__message--error{border-color:var(--amber-accent)}.ask-panel__chips-toggle{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:12px}.ask-panel__chips-toggle:hover{color:var(--text-h);border-color:var(--accent)}.ask-panel__brewing{border:1px dashed var(--border);background:var(--surface-raised);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.ask-panel__brew-flask{flex:none;width:36px;height:42px}.ask-panel__brew-glass{stroke:var(--accent-border);stroke-width:2px;stroke-linejoin:round}.ask-panel__brew-liquid{fill:var(--lab-green-deep);opacity:.6}.ask-panel__brew-bubble{fill:var(--lab-green);opacity:0;animation:2.4s ease-in-out infinite ask-brew-rise}.ask-panel__brew-bubble--2{animation-duration:3s;animation-delay:.7s}.ask-panel__brew-bubble--3{animation-duration:3.4s;animation-delay:1.3s}@keyframes ask-brew-rise{0%{opacity:0;transform:translateY(0)}20%{opacity:.85}80%{opacity:.5}to{opacity:0;transform:translateY(-14px)}}.ask-panel__brew-text{color:var(--text-primary);margin:0;font-size:14px}@media (prefers-reduced-motion:reduce){.ask-panel__brew-bubble{opacity:0;animation:none}}#lab{text-align:left;box-sizing:border-box;flex-direction:column;flex-grow:1;gap:28px;padding:40px 32px 64px;display:flex}@media (width<=1024px){#lab{gap:20px;padding:24px 20px 48px}}.lab-header{text-align:center;position:relative}.lab-title-row{justify-content:center;align-items:center;gap:24px;display:flex}.lab-title{color:var(--lab-green);text-shadow:0 0 18px #39ff1459;align-items:baseline;margin:0;display:inline-flex}.lab-subtitle{max-width:48ch;color:var(--text-secondary);margin:16px auto 0}@keyframes lab-title-jolt{0%,44%{text-shadow:0 0 18px #39ff1459;transform:translate(0,0)}46%{text-shadow:0 0 36px #39ff14f2;transform:translate(-3px,1px)}49%{transform:translate(3px,-2px)}52%{transform:translate(-2px,1px)}55%{transform:translate(0,0)}to{text-shadow:0 0 22px #39ff148c}}@keyframes lab-title-flicker{0%,92%,to{text-shadow:0 0 22px #39ff148c}94%{text-shadow:0 0 10px #39ff144d}96%{text-shadow:0 0 34px #39ff14e6}}@keyframes lab-subtitle-fade{0%,55%{opacity:0}to{opacity:1}}.lab-title{animation:2.2s ease-out lab-title-jolt,7s ease-in-out 2.2s infinite lab-title-flicker}.lab-subtitle{animation:2.2s ease-out lab-subtitle-fade}@media (prefers-reduced-motion:reduce){.lab-title{text-shadow:0 0 22px #39ff148c;animation:none}.lab-subtitle{opacity:1;animation:none}}.lab-status{border:1px solid var(--border);background:var(--surface);text-align:center;color:var(--text-primary);border-radius:10px;padding:24px}.lab-status--loading{border-color:var(--accent-border);color:var(--lab-green)}.lab-status--error{border-color:var(--amber-accent);color:var(--amber-accent);background:var(--surface-raised)}.lab-intake{flex-direction:column;align-items:center;gap:16px;display:flex}.lab-intake .frankendata-dropzone-wrapper{width:100%;max-width:420px}.lab-intake__demos{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;display:flex}.lab-intake .frankendata-demo-control{flex-direction:column;flex:none;align-items:center;display:flex}.frankendata-demo-control__caption{text-align:center;max-width:220px;color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.4}.lab-stitch-entry{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;width:100%;max-width:420px;margin:4px auto 0;padding:16px;display:flex}.lab-stitch-entry__heading{color:var(--lab-green);letter-spacing:.3px;text-transform:uppercase;margin:0;font-size:14px;font-weight:600}.lab-stitch-entry__chips{flex-wrap:wrap;gap:8px;display:flex}.lab-stitch-entry__chip{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.lab-stitch-entry__chip:hover{border-color:var(--accent-border)}.lab-stitch-entry__chip--checked{border-color:var(--lab-green);background:var(--accent-bg);color:var(--text-primary)}.lab-stitch-entry__checkbox{accent-color:var(--lab-green);cursor:pointer;margin:0}.lab-stitch-entry__chip:focus-within{outline:2px solid var(--accent);outline-offset:2px}.lab-stitch-entry__actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.lab-stitch-entry__button{font:inherit;border:1px solid var(--lab-green);background:var(--accent-bg);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:10px 20px;transition:border-color .12s,box-shadow .12s}.lab-stitch-entry__button:hover:not(:disabled){box-shadow:0 0 0 2px var(--accent-border) inset}.lab-stitch-entry__button:disabled{border-color:var(--border);color:var(--text-secondary);background:var(--surface-raised);cursor:not-allowed;opacity:.8}.lab-stitch-entry__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab-stitch-entry__hint{color:var(--text-secondary);margin:0;font-size:12px}.lab-stitch{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:16px;padding:20px;display:flex}.lab-stitch__close{font:inherit;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;border-radius:6px;align-self:flex-start;padding:6px 12px;font-size:14px}.lab-stitch__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab-reset__button{font:inherit;border:1px solid var(--amber-accent);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;border-radius:6px;align-self:center;margin-top:12px;padding:8px 16px;font-size:14px}.lab-reset__button:hover{box-shadow:0 0 0 2px var(--amber-accent) inset}.lab-reset__button:focus-visible{outline:2px solid var(--amber-accent);outline-offset:2px}@keyframes lab-its-alive{0%{box-shadow:0 0 #39ff1400}15%{box-shadow:0 0 24px 6px #39ff14d9}40%{box-shadow:0 0 10px 2px #39ff1473}60%{box-shadow:0 0 22px 5px #39ff14b3}to{box-shadow:0 0 #39ff1400}}.lab-stitch__result--alive{border-radius:8px;animation:1s ease-out lab-its-alive}@media (prefers-reduced-motion:reduce){.lab-stitch__result--alive{animation:none}}button:disabled,button[disabled]{cursor:not-allowed}body:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#39ff140a 1px,#0000 1px),linear-gradient(90deg,#39ff140a 1px,#0000 1px),radial-gradient(#0000 55%,#0000008c 100%);background-size:32px 32px,32px 32px,100% 100%;position:fixed;inset:0}#lab{z-index:1;position:relative}.approval-screen__confirm:not(:disabled):hover,.approval-screen__confirm:not(:disabled):focus-visible,.join-controls__apply:not(:disabled):hover,.join-controls__apply:not(:disabled):focus-visible,.ask-panel__submit:not(:disabled):hover,.ask-panel__submit:not(:disabled):focus-visible,.lab-reset__button:not(:disabled):hover,.lab-reset__button:not(:disabled):focus-visible{animation:.3s ease-out lab-electric-pulse}@keyframes lab-electric-pulse{0%{box-shadow:0 0 #39ff1400}50%{box-shadow:0 0 14px 2px #39ff1499}to{box-shadow:0 0 6px 1px #39ff144d}}@media (prefers-reduced-motion:reduce){.approval-screen__confirm,.join-controls__apply,.ask-panel__submit,.lab-reset__button{animation:none!important}}
