:root{--b-accent2:#5856d6;--b-green:#30d158;--b-amber:#ff9f0a;--b-red:#ff3b30;--b-r:18px;--b-shadow:0 1px 3px rgba(0,0,0,0.05),0 4px 16px rgba(0,0,0,0.05);--b-shadow-h:0 8px 32px rgba(0,0,0,0.1),0 2px 8px rgba(0,0,0,0.06),0 0 0 1px rgba(37,99,235,0.14)}.bento-wrap{position:relative;border-radius:28px;background:var(--bg-alt);padding:48px clamp(16px,5vw,56px) 56px;overflow:hidden}.bento-wrap::before{content:'';position:absolute;inset:0;border-radius:28px;background:radial-gradient(ellipse 60% 40% at 8% 90%,rgba(37,99,235,.08),transparent),radial-gradient(ellipse 50% 35% at 92% 8%,rgba(88,86,214,.06),transparent);pointer-events:none}.lab-hdr{text-align:center;margin-bottom:48px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:b-dot-pulse 2.2s ease-in-out infinite;flex-shrink:0}@keyframes b-dot-pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}50%{box-shadow:0 0 0 5px rgba(37,99,235,0)}}.lab-title{font-family:var(--font-d);font-size:clamp(1.8rem, 3.8vw, 2.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.08;color:var(--text);margin-bottom:14px}.lab-title em{font-style:normal;color:var(--accent)}.lab-sub{font-family:var(--font-m);font-size:.78rem;color:var(--text-2);letter-spacing:.04em}.lab-stats{display:inline-flex;gap:24px;margin-top:16px;border:1px solid rgba(0,0,0,.07);border-radius:40px;padding:8px 20px;background:var(--bg)}.stat{font-family:var(--font-m);font-size:.66rem;color:var(--text-3);display:flex;align-items:center;gap:5px}.stat strong{color:var(--accent);font-size:.78rem}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;position:relative;z-index:1}.card{background:var(--bg);border-radius:var(--b-r);box-shadow:var(--b-shadow);border:1px solid rgba(0,0,0,.05);overflow:hidden;cursor:pointer;transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,opacity .25s ease;position:relative}.card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--b-accent2));transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:10}.card:hover{transform:translateY(-7px);box-shadow:var(--b-shadow-h)}.card:hover::after{transform:scaleX(1)}.card.active{transform:translateY(-5px);box-shadow:var(--b-shadow-h)}.card.active::after{transform:scaleX(1)}.card.dimmed{opacity:.28;transform:none}.c-llm{grid-column:span 5}.c-agentic{grid-column:span 4}.c-prompt{grid-column:span 3}.c-comp{grid-column:span 3}.c-deep{grid-column:span 3}.c-pipe{grid-column:span 3}.c-debug{grid-column:span 3}.c-front{grid-column:span 5}.c-supervised{grid-column:span 4}.c-api{grid-column:span 3}.c-proto{grid-column:span 12}.viz{position:relative;overflow:hidden;height:158px;background:rgba(248,248,250,.5);border-bottom:1px solid rgba(0,0,0,.04)}.c-llm .viz{height:180px}.c-proto .viz{height:88px}.c-front .viz{height:158px}.cbody{padding:14px 18px 18px}.cstage{font-family:var(--font-m);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.7;display:block;margin-bottom:5px}.cname{font-family:var(--font-d);font-size:clamp(.88rem, 1.1vw, 1rem);font-weight:700;color:var(--text);line-height:1.25;margin-bottom:9px}.c-llm .cname{font-size:1.15rem}.ctags{display:flex;flex-wrap:wrap;gap:4px}.ctag{font-family:var(--font-m);font-size:.55rem;color:var(--text-3);background:rgba(0,0,0,.04);border-radius:40px;padding:2px 8px}.viz-llm-inner{padding:14px 18px;font-family:var(--font-m);font-size:.68rem;line-height:1.85;color:var(--text-2);height:100%;overflow:hidden}.tok{display:inline;opacity:0;animation:b-tok-in .18s forwards}.tok-key{color:var(--accent);font-weight:600}.tok-val{color:var(--b-green)}.tok-str{color:var(--b-amber)}.tok-num{color:var(--b-accent2)}@keyframes b-tok-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.caret{display:inline-block;width:6px;height:14px;background:var(--accent);vertical-align:text-bottom;margin-left:2px;border-radius:1px;animation:b-caret-blink 1.1s step-end infinite}@keyframes b-caret-blink{0%,100%{opacity:1}50%{opacity:0}}.viz-agentic-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.viz-prompt-inner{padding:12px 16px;display:flex;flex-direction:column;gap:7px;height:100%;font-family:var(--font-m);font-size:.62rem}.prow{display:flex;align-items:flex-start;gap:7px}.plbl{flex-shrink:0;font-size:.52rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:5px;line-height:1.7}.plbl-sys{background:rgba(88,86,214,.11);color:var(--b-accent2)}.plbl-usr{background:rgba(37,99,235,.1);color:var(--accent)}.plbl-ai{background:rgba(48,209,88,.1);color:var(--b-green)}.ptxt{color:var(--text-2);font-size:.61rem;line-height:1.55;flex:1}.ptxt-type{overflow:hidden;white-space:nowrap;border-right:1.5px solid var(--accent);max-width:0;animation:b-type-expand 4s steps(22) infinite,b-type-caret .9s step-end infinite}@keyframes b-type-expand{0%,8%{max-width:0}55%,90%{max-width:180px}100%,97%{max-width:0}}@keyframes b-type-caret{0%,100%{border-color:var(--accent)}50%{border-color:transparent}}.viz-shield{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.shield-body{fill:rgba(37,99,235,0.07);stroke:rgba(37,99,235,0.3);stroke-width:1.5;animation:b-shield-glow 3.5s ease-in-out infinite}@keyframes b-shield-glow{0%,100%{fill:rgba(37,99,235,0.05);stroke-opacity:0.25}55%{fill:rgba(37,99,235,0.16);stroke-opacity:0.6}}.shield-check{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32;stroke-dashoffset:32;animation:b-check-draw 3.5s ease-in-out infinite}@keyframes b-check-draw{0%,18%{stroke-dashoffset:32;opacity:0}52%,80%{stroke-dashoffset:0;opacity:1}100%,96%{stroke-dashoffset:32;opacity:0}}.shield-scan{fill:none;stroke:rgba(37,99,235,0.25);stroke-width:.8;animation:b-scan-move 3.5s linear infinite}@keyframes b-scan-move{0%{transform:translateY(-40px);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(40px);opacity:0}}.nn-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:14px;gap:6px;position:relative}.nn-layer{display:flex;flex-direction:column;gap:8px}.nn-node{width:10px;height:10px;border-radius:50%;background:rgba(37,99,235,.15);border:1.5px solid rgba(37,99,235,.35);animation:b-nn-pulse var(--dur,2s) ease-in-out infinite var(--dly,0s)}@keyframes b-nn-pulse{0%,100%{background:rgba(37,99,235,.15);border-color:rgba(37,99,235,.35);box-shadow:none}50%{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(37,99,235,.5)}}.nn-svg{position:absolute;inset:0;pointer-events:none}.viz-pipe{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 14px}.pipe-stage{flex:1;border-radius:9px;background:rgba(37,99,235,.05);border:1px solid rgba(37,99,235,.1);padding:8px 6px;text-align:center;display:flex;flex-direction:column;gap:5px}.pipe-stage-n{font-family:var(--font-m);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.pipe-item{height:5px;border-radius:3px;background:var(--accent);margin:0 auto;width:70%;opacity:0;animation:b-pipe-move 4.5s ease-in-out infinite var(--d,0s)}@keyframes b-pipe-move{0%{opacity:0;transform:translateX(-12px)}15%{opacity:1;transform:translateX(0)}55%,82%{opacity:.85;transform:translateX(0)}95%{opacity:0;transform:translateX(12px)}100%{opacity:0}}.pipe-sep{color:var(--text-3);font-size:.9rem;flex-shrink:0}.viz-debug{padding:10px 14px;display:flex;flex-direction:column;gap:5px;height:100%;overflow:hidden;background:rgba(0,0,0,.02);font-family:var(--font-m);font-size:.6rem}.dline{display:flex;align-items:center;gap:6px;opacity:0;animation:b-dline-in .25s forwards var(--d,0s)}@keyframes b-dline-in{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}.dico{font-size:.68rem;flex-shrink:0;width:14px;text-align:center}.dtxt{flex:1;color:var(--text-2)}.dline.err .dtxt{color:var(--b-red)}.dline.fix .dtxt{color:var(--b-green)}.dline.warn .dtxt{color:var(--b-amber)}.viz-browser{display:flex;flex-direction:column;height:100%}.brow-chrome{background:rgba(0,0,0,.04);height:26px;display:flex;align-items:center;gap:5px;padding:0 12px;border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.bdot{width:7px;height:7px;border-radius:50%}.bd-r{background:#ff5f57}.bd-y{background:#febc2e}.bd-g{background:#28c840}.brow-url{flex:1;height:13px;background:rgba(255,255,255,.55);border-radius:4px;margin:0 8px}.brow-vp{flex:1;position:relative;overflow:hidden}.brow-grad{position:absolute;inset:0;animation:b-grad-shift 7s ease-in-out infinite}@keyframes b-grad-shift{0%{background:linear-gradient(135deg,rgba(37,99,235,.18) 0,rgba(88,86,214,.14) 60%,rgba(37,99,235,.08) 100%)}33%{background:linear-gradient(210deg,rgba(88,86,214,.22) 0,rgba(37,99,235,.12) 50%,rgba(0,140,255,.1) 100%)}66%{background:linear-gradient(300deg,rgba(37,99,235,.1) 0,rgba(88,86,214,.18) 40%,rgba(37,99,235,.24) 100%)}100%{background:linear-gradient(135deg,rgba(37,99,235,.18) 0,rgba(88,86,214,.14) 60%,rgba(37,99,235,.08) 100%)}}.brow-ui{position:absolute;inset:0;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.brow-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.5);animation:b-bbar-pulse 3.5s ease-in-out infinite var(--d,0s)}.brow-bar.s{width:55%}.brow-bar.m{width:78%}.brow-bar.l{width:88%}@keyframes b-bbar-pulse{0%,100%{opacity:.4}50%{opacity:.85}}.viz-scatter{width:100%;height:100%;position:relative;overflow:hidden}.sdot{position:absolute;width:8px;height:8px;border-radius:50%;transform:scale(0);opacity:0;animation:b-sdot-in .4s cubic-bezier(.34,1.56,.64,1) forwards var(--d,0s)}.sdot.a{background:rgba(37,99,235,.72)}.sdot.b{background:rgba(88,86,214,.72)}@keyframes b-sdot-in{to{transform:scale(1);opacity:1}}.sboundary{position:absolute;pointer-events:none;width:130%;height:1.5px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.45),transparent);top:48%;left:-15%;animation:b-sbnd-shift 5.5s ease-in-out infinite}@keyframes b-sbnd-shift{0%,100%{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-14deg) translateY(-8px)}}.viz-api{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:12px 16px}.api-box{background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.18);border-radius:8px;padding:7px 10px;font-family:var(--font-m);font-size:.56rem;font-weight:600;color:var(--accent);text-align:center;flex-shrink:0}.api-mid{flex:1;position:relative;height:36px;display:flex;flex-direction:column;justify-content:center;gap:5px;margin:0 8px}.api-lane{position:relative;height:1.5px;background:rgba(37,99,235,.12);border-radius:1px}.api-lane-label{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-family:var(--font-m);font-size:.48rem;font-weight:600;color:var(--accent);opacity:.6;letter-spacing:.05em;white-space:nowrap}.api-lane:nth-child(2) .api-lane-label{top:auto;bottom:-11px;color:var(--b-accent2);opacity:.6}.api-dot{position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(37,99,235,.5);animation:b-api-travel 2.2s linear infinite}.api-lane:nth-child(2) .api-dot{background:var(--b-accent2);box-shadow:0 0 8px rgba(88,86,214,.5);animation:b-api-travel-back 2.2s linear infinite;animation-delay:-1.1s}@keyframes b-api-travel{from{left:-5%}to{left:105%}}@keyframes b-api-travel-back{from{left:105%}to{left:-5%}}.viz-proto{width:100%;height:100%;display:flex;align-items:center;padding:0 20px;gap:14px;overflow:hidden}.proto-ph{display:flex;align-items:center;gap:10px;flex-shrink:0}.proto-frame{width:56px;height:42px;border-radius:7px;position:relative;overflow:hidden;flex-shrink:0}.pf-wire{border:1.5px dashed rgba(37,99,235,.25);background:rgba(37,99,235,.02)}.pf-design{border:1.5px solid rgba(37,99,235,.22);background:rgba(37,99,235,.05)}.pf-prod{border:1.5px solid rgba(37,99,235,.38);background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(88,86,214,.09));box-shadow:0 2px 8px rgba(37,99,235,.14)}.pf-inner{padding:5px;display:flex;flex-direction:column;gap:4px}.pf-line{height:4px;border-radius:2px;background:rgba(37,99,235,.22)}.pf-line.s{width:55%}.proto-lbl{font-family:var(--font-m);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.proto-arr{color:var(--accent);opacity:.35;font-size:1.2rem;flex-shrink:0;animation:b-arr-pulse 2s ease-in-out infinite}@keyframes b-arr-pulse{0%,100%{opacity:.25;transform:translateX(0)}50%{opacity:.6;transform:translateX(4px)}}.proto-divider{width:1px;height:52px;background:rgba(0,0,0,.06);flex-shrink:0;margin:0 4px}.proto-body-inline{flex:1;padding-left:16px;display:flex;flex-direction:column;gap:6px}.proto-stage-lbl{font-family:var(--font-m);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);opacity:.7}.proto-name{font-family:var(--font-d);font-size:1rem;font-weight:700;color:var(--text)}.proto-tags{display:flex;flex-wrap:wrap;gap:4px}.detail{margin-top:14px;background:var(--bg);border-radius:var(--b-r);box-shadow:var(--b-shadow);border:1px solid rgba(0,0,0,.05);overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .38s ease}.detail.open{max-height:300px;opacity:1}.detail-inner{padding:26px 30px;display:grid;grid-template-columns:1fr auto;gap:0 28px;align-items:start}.detail-body{display:flex;flex-direction:column;gap:8px}.detail-row1{display:flex;align-items:center;gap:10px}.detail-badge{font-family:var(--font-m);font-size:.62rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);background:rgba(37,99,235,.09);border-radius:40px;padding:4px 12px}.detail-pct-row{display:flex;align-items:center;gap:7px;font-family:var(--font-m);font-size:.6rem;color:var(--text-3)}.pct-track{width:64px;height:3px;border-radius:2px;background:rgba(0,0,0,.08);position:relative;overflow:hidden}.pct-fill{position:absolute;top:0;bottom:0;left:0;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--b-accent2));transition:width .9s cubic-bezier(.34,1.56,.64,1)}.detail-name{font-family:var(--font-d);font-size:clamp(1.05rem, 2vw, 1.35rem);font-weight:700;color:var(--text);line-height:1.2}.detail-desc{font-size:.83rem;color:var(--text-2);line-height:1.68;max-width:580px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.detail-tag{font-family:var(--font-m);font-size:.63rem;color:var(--text-2);background:rgba(0,0,0,.04);border-radius:40px;padding:3px 10px}.detail-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,0,0,.1);background:0 0;cursor:pointer;color:var(--text-2);font-size:14px;transition:background .18s;flex-shrink:0;align-self:start;font-family:inherit;line-height:1}.detail-close:hover{background:rgba(0,0,0,.06)}@media (max-width:900px){.bento-wrap{padding:36px clamp(12px,4vw,40px) 44px;border-radius:20px}.lab-hdr{margin-bottom:36px}.bento{grid-template-columns:repeat(2,1fr);gap:10px}.c-agentic,.c-api,.c-comp,.c-debug,.c-deep,.c-llm,.c-pipe,.c-prompt,.c-supervised{grid-column:span 1}.c-front,.c-proto{grid-column:span 2}.viz{height:140px}.c-llm .viz{height:155px}.c-front .viz{height:140px}.c-proto .viz{height:80px}.detail.open{max-height:380px}.detail-inner{padding:20px 22px}}@media (max-width:768px){.bento{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 0 18px}.c-agentic,.c-api,.c-comp,.c-debug,.c-deep,.c-front,.c-llm,.c-pipe,.c-prompt,.c-proto,.c-supervised{grid-column:span 1}.bento::-webkit-scrollbar{height:6px}.bento::-webkit-scrollbar-thumb{background:var(--border-h);border-radius:3px}.card{flex:0 0 min(82vw,320px);scroll-snap-align:start}}@media (max-width:540px){.bento-wrap{padding:28px 14px 36px;border-radius:16px}.lab-hdr{margin-bottom:24px}.lab-stats{gap:12px;padding:7px 14px}.c-front .viz,.c-llm .viz,.viz{height:128px}.c-proto .viz{height:70px}.proto-frame{width:38px;height:30px}.proto-lbl{font-size:.48rem}.proto-arr{font-size:.9rem}.proto-ph{gap:6px}.proto-body-inline{display:none}.proto-divider{display:none}.viz-proto{gap:10px;justify-content:center}.detail.open{max-height:480px}.detail-inner{grid-template-columns:1fr;padding:18px 18px 22px;gap:12px 0;position:relative}.detail-close{position:absolute;top:16px;right:16px}.card:hover{transform:none;box-shadow:var(--b-shadow)}.card:hover::after{transform:scaleX(0)}}