
/* v77 premium visual experience */
.vlab-hero{padding:76px 0 54px;background:linear-gradient(135deg,#eef8f5 0,#fff 62%)}
.vlab-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}
.vlab-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#087f70}
.vlab-hero h1{font:clamp(42px,6vw,72px)/1.02 Georgia,serif;margin:12px 0 18px;color:#113b36}
.vlab-hero p{font-size:18px;line-height:1.7;color:#526a66;max-width:720px}
.vlab-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.vlab-actions a{padding:13px 18px;border-radius:10px;text-decoration:none;font-weight:850}.vlab-primary{background:#0b6f63;color:#fff}.vlab-secondary{border:1px solid #aacac4;color:#164a43;background:#fff}
.vlab-scene{position:relative;min-height:430px;border-radius:26px;background:#103b36;overflow:hidden;color:#fff;padding:28px;box-shadow:0 28px 70px rgba(12,55,49,.18)}
.vlab-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 94%,rgba(255,255,255,.08) 95%),linear-gradient(90deg,transparent 94%,rgba(255,255,255,.06) 95%);background-size:42px 42px;opacity:.35}
.vlab-bench{position:absolute;left:7%;right:7%;bottom:16%;height:18px;border-radius:9px;background:#7d948f}.vlab-bench:after{content:"";position:absolute;left:7%;right:7%;top:18px;height:100px;border-left:10px solid #5c716d;border-right:10px solid #5c716d}
.vlab-station{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;border-radius:15px;padding:12px;cursor:pointer;transition:.2s;backdrop-filter:blur(6px)}.vlab-station:hover,.vlab-station.is-active{transform:translateY(-4px);background:#fff;color:#123e38;box-shadow:0 15px 35px rgba(0,0,0,.18)}.vlab-station strong,.vlab-station small{display:block}.vlab-station small{margin-top:3px;opacity:.76}.vlab-station img{width:92px;height:72px;object-fit:contain;display:block;margin:auto}.vlab-s1{left:8%;bottom:28%}.vlab-s2{left:37%;bottom:28%}.vlab-s3{right:8%;bottom:28%}.vlab-beam{position:absolute;z-index:1;left:20%;right:20%;top:24%;height:2px;background:#6ed6bf;box-shadow:0 0 12px #6ed6bf;transform-origin:left;animation:beamSweep 4s ease-in-out infinite}@keyframes beamSweep{50%{transform:rotate(4deg);opacity:.45}}
.vlab-section{padding:78px 0}.vlab-section-soft{background:#f4f8f7}.vlab-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.vlab-heading h2{font:clamp(34px,4vw,50px)/1.08 Georgia,serif;margin:8px 0 0;color:#123e38}.vlab-heading p{max-width:650px;color:#5a706c;line-height:1.65}
.vlab-panels{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.vlab-nav{display:grid;gap:10px}.vlab-nav button{width:100%;text-align:left;padding:17px;border-radius:14px;border:1px solid #cbded9;background:#fff;color:#173f39;font:inherit;cursor:pointer}.vlab-nav button.is-active{border-color:#0b776a;background:#e9f6f3}.vlab-nav button strong,.vlab-nav button span{display:block}.vlab-nav button span{font-size:14px;color:#647a76;margin-top:4px}
.vlab-detail{border:1px solid #cbded9;border-radius:18px;background:#fff;padding:28px}.vlab-detail-top{display:grid;grid-template-columns:190px 1fr;gap:26px;align-items:center}.vlab-detail img{width:100%;height:160px;object-fit:contain;background:#eef7f5;border-radius:14px;padding:14px}.vlab-detail h3{font:30px Georgia,serif;margin:0 0 10px}.vlab-detail p{line-height:1.65;color:#526a66}.vlab-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.vlab-tag{font-size:12px;font-weight:850;padding:7px 10px;border-radius:999px;background:#e8f5f2;color:#0b6f63}
.trace-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:center}.trace-node{position:relative;padding:20px 14px;border:1px solid #c9ddd8;border-radius:15px;background:#fff;text-align:center;min-height:122px}.trace-node:not(:last-child):after{content:"→";position:absolute;right:-19px;top:44%;font-size:22px;color:#0b776a;z-index:2}.trace-node strong,.trace-node small{display:block}.trace-node small{margin-top:8px;color:#657a76}.trace-node.is-lit{border-color:#0b776a;box-shadow:0 0 0 4px #dff2ed;transform:translateY(-3px)}
.rule-demo{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center}.rule-controls{padding:24px;border-radius:17px;background:#103b36;color:#fff}.rule-controls label{display:flex;justify-content:space-between;font-weight:800;margin-top:15px}.rule-controls input{width:100%;margin-top:8px;accent-color:#5ecab5}.rule-meter{position:relative;height:96px;border-radius:18px;background:linear-gradient(90deg,#d8f0e9 0 42%,#f6e7b4 42% 58%,#f4d5d0 58%);overflow:hidden}.rule-limit{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#263f3b}.rule-interval{position:absolute;top:31px;height:34px;border:3px solid #0b6f63;border-radius:99px;background:rgba(255,255,255,.72);transition:.25s}.rule-point{position:absolute;top:23px;width:8px;height:50px;border-radius:4px;background:#0b6f63;transition:.25s}.rule-labels{display:flex;justify-content:space-between;margin-top:9px;color:#637874;font-size:13px}.rule-verdict{margin-top:18px;padding:14px;border-radius:12px;background:#edf6f4;font-weight:850;color:#16463f}
@media(prefers-reduced-motion:reduce){.vlab-beam{animation:none}.vlab-station,.trace-node,.rule-interval,.rule-point{transition:none}}
@media(max-width:900px){.vlab-grid,.vlab-panels,.rule-demo{grid-template-columns:1fr}.vlab-heading{display:block}.vlab-detail-top{grid-template-columns:150px 1fr}.trace-chain{grid-template-columns:1fr}.trace-node:not(:last-child):after{content:"↓";right:auto;left:49%;top:auto;bottom:-24px}}
@media(max-width:620px){.vlab-scene{min-height:570px}.vlab-station{left:10%;right:10%;width:auto}.vlab-s1{top:16%;bottom:auto}.vlab-s2{top:43%;bottom:auto}.vlab-s3{top:70%;bottom:auto}.vlab-bench,.vlab-beam{display:none}.vlab-detail-top{grid-template-columns:1fr}.vlab-detail img{height:190px}}
