.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-card{min-width:0;display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--chrome-edge);border-radius:16px;background:var(--surface);transition:border-color .2s,box-shadow .25s var(--ease)}.lab-card:hover{border-color:var(--rule);box-shadow:0 18px 40px -28px rgba(30,50,110,.35)}.lab-card--wide{grid-column:1 / -1}.lab-zone{min-width:0;display:flex;flex-direction:column;gap:14px}@supports (grid-template-rows: subgrid){.lab-card:not(.lab-card--wide){display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:14px;align-content:start}.lab-card:not(.lab-card--wide)>.lab-code,.lab-card:not(.lab-card--wide)>.lab-chat{align-self:stretch}}.lab-grid>.lab-card[data-demo=api],.lab-grid>.lab-card[data-demo=ai]{display:flex;flex-direction:column;grid-row:auto}.lab-card[data-demo=api]>.lab-code{flex:1 1 0;min-height:220px;max-height:none}.lab-card[data-demo=api]>.lab-zone:empty{display:none}.lab-card__head{display:flex;flex-direction:column;gap:6px}.lab-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lab-card__title{font-size:19px;font-weight:600;letter-spacing:-.02em}.lab-card__badge{flex-shrink:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;border:1px solid var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.lab-card__desc{font-size:14px;color:var(--dim)}.lab-note{font-size:12px;color:var(--mute)}.lab-btn-wide{width:100%}.lab-card .btn:disabled{opacity:.55;cursor:default}.lab-input{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--chrome-line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.lab-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.lab-input{appearance:none;padding-right:32px;cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355607a' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center / 14px no-repeat}.lab-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--mute)}.lab-steps li{display:inline-flex;align-items:center;gap:6px;transition:color .2s}.lab-steps i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--chrome-line);transition:all .2s}.lab-steps li.is-active{color:var(--ink)}.lab-steps li.is-active i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:lab-pulse 1s infinite}.lab-steps li.is-done{color:var(--dim)}.lab-steps li.is-done i{border-color:var(--live);background:var(--live)}@keyframes lab-pulse{50%{box-shadow:0 0 0 7px rgba(242,178,60,0)}}.lab-code{margin:0;min-height:120px;max-height:280px;overflow:auto;padding:14px 16px;border-radius:12px;background:var(--dev-bg);border:1px solid var(--dev-line);color:var(--dev-ink);font:12px/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.lab-code code{font:inherit}.lab-code--log{min-height:110px}.lab-code .is-ok{color:#5fe0a3}.lab-parser__form,.lab-api__bar,.lab-chat__form{display:flex;gap:8px}.lab-parser__form .btn,.lab-api__bar .btn,.lab-chat__form .btn{flex-shrink:0;height:40px}.lab-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-size:12px}.lab-flow__node{display:flex;align-items:center}.lab-flow__node span{padding:7px 11px;border:1px solid var(--chrome-edge);border-radius:9px;background:var(--surface);transition:all .25s var(--ease)}.lab-flow__edge{width:18px;height:2px;background:var(--chrome-edge);position:relative;overflow:hidden}.lab-flow__edge::after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-101%);transition:transform .45s var(--ease)}.lab-flow__node.is-active span{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft);color:var(--ink)}.lab-flow__node.is-done span{border-color:var(--live);color:var(--ink)}.lab-flow__node.is-done .lab-flow__edge::after{transform:none}.lab-api__status{display:flex;align-items:center;gap:12px;min-height:22px;font-size:12px;color:var(--dim)}.lab-api__status .is-ok{color:#fff;background:var(--live);padding:1px 8px;border-radius:6px}.lab-api__status .is-err{color:#fff;background:#ff5f57;padding:1px 8px;border-radius:6px}.lab-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--chrome-edge);border-top-color:var(--accent);animation:lab-spin .7s linear infinite}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-chat{display:flex;flex-direction:column;gap:8px;height:220px;overflow-y:auto;padding:14px;border-radius:12px;background:var(--tint);border:1px solid var(--chrome-edge)}.lab-chat__suggest{display:flex;flex-wrap:wrap;gap:6px}.lab-chip{font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--chrome-line);background:var(--surface);transition:border-color .15s,background-color .15s}.lab-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.lab-chat__msg{max-width:86%;padding:9px 12px;border-radius:12px;font-size:13.5px;line-height:1.5;animation:lab-in .25s var(--ease)}.lab-chat__msg--user{align-self:flex-end;background:var(--ink);color:var(--surface);border-bottom-right-radius:4px}.lab-chat__msg--ai{align-self:flex-start;background:var(--surface);border:1px solid var(--chrome-edge);border-bottom-left-radius:4px}.lab-chat__typing{display:flex;gap:4px;padding:12px}.lab-chat__typing i{width:6px;height:6px;border-radius:50%;background:var(--mute);animation:lab-dot 1s infinite}.lab-chat__typing i:nth-child(2){animation-delay:.15s}.lab-chat__typing i:nth-child(3){animation-delay:.3s}@keyframes lab-dot{50%{opacity:.3;transform:translateY(-2px)}}@keyframes lab-in{from{opacity:0;transform:translateY(6px)}}.lab-qa{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:14px}.lab-shot{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--chrome-edge);background:var(--surface);min-height:170px}.lab-shot__bar{display:flex;gap:4px;padding:6px 8px;background:#ececed}.lab-shot__bar i{width:7px;height:7px;border-radius:50%;background:#cfcfd6}.lab-shot__body{padding:12px;display:grid;gap:9px}.lab-shot__el{position:relative;border-radius:5px;transition:outline-color .2s,background-color .3s;outline:2px solid transparent;outline-offset:2px}.lab-shot__hero b{display:block;height:9px;border-radius:3px;background:#d6dbe6;margin-bottom:5px;width:115%}.lab-shot__hero b.short{width:60%}.lab-shot__cta{width:70px;height:18px;background:#f7d99a}.lab-shot__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lab-shot__card{height:40px;background:#eef1f7}.lab-shot__el.is-issue{outline-color:#ff5f57;animation:lab-shake .3s}.lab-shot.is-fixed .lab-shot__hero b{width:100%}.lab-shot.is-fixed .lab-shot__hero b.short{width:60%}.lab-shot.is-fixed .lab-shot__cta{background:var(--accent)}.lab-shot.is-fixed .lab-shot__el{outline-color:transparent}.lab-shot__count{position:absolute;right:8px;bottom:8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-size:12px;background:#14161b;color:#fff;transition:background-color .2s}.lab-shot.is-fixed .lab-shot__count{background:var(--live)}.lab-shot__scan{position:absolute;left:0;right:0;top:20px;height:40%;opacity:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(242,178,60,.28));border-bottom:2px solid var(--accent)}.lab-shot.is-scanning .lab-shot__scan{animation:lab-scan 1.2s var(--ease) infinite}@keyframes lab-scan{from{transform:translateY(-100%);opacity:1}to{transform:translateY(180%);opacity:1}}@keyframes lab-shake{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.lab-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lab-kpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--chrome-edge);border-radius:12px;background:var(--tint);min-width:0}.lab-kpi span{font-size:12px;color:var(--dim)}.lab-kpi strong{font-size:clamp(17px,2vw,22px);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-chart{border:1px solid var(--chrome-edge);border-radius:12px;padding:14px 14px 8px;background:var(--surface)}.lab-chart__top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--chrome-edge)}.lab-chart__metrics{display:flex;gap:16px;font-size:12px}.lab-chart__metrics button{padding:4px 0;color:var(--dim);text-transform:lowercase}.lab-chart__metrics button[aria-selected=true]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--live);text-decoration-thickness:2px;text-underline-offset:7px}.lab-chart__cap{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:12px 0 4px}.lab-chart__cap .mono{font-size:12px;color:var(--mute)}.lab-chart__title{font-size:14px;font-weight:600}.lab-seg{display:flex;padding:3px;border:1px solid var(--chrome-line);border-radius:8px;font-size:12px}.lab-seg button{padding:3px 9px;border-radius:5px;color:var(--dim)}.lab-seg button[aria-selected=true]{background:var(--ink);color:var(--surface)}.lab-chart__svg{width:100%;height:auto;display:block;overflow:visible}.lab-chart__svg rect,.lab-chart__svg text{stroke:none}.lab-chart__svg line{fill:none;stroke-width:1}.lab-chart__cell{fill:none;stroke:var(--chrome-edge);stroke-width:.5}.lab-chart__plot{stroke:var(--chrome-edge)!important;stroke-width:1}.lab-chart__grid{stroke:var(--chrome-line);stroke-dasharray:2 3;opacity:.7}.lab-chart__axis{stroke:var(--dim)}.lab-chart__bar{fill:var(--accent);transition:opacity .15s,filter .15s;transform-box:fill-box;transform-origin:bottom}.lab-chart__bar.is-weekend{fill:var(--ink)}:root[data-theme=dark] .lab-chart__bar.is-weekend{fill:#7b8397}:root[data-theme=dark] .lab-chart__bar.is-weekend~.lab-chart__in{fill:#0f1014}.lab-chart__bar.is-max{fill:#00a844}.lab-chart__svg:hover .lab-chart__bar:not(.is-hover){opacity:.55}.lab-chart__bar.is-hover{opacity:1;filter:brightness(1.08)}.lab-chart__svg.is-enter .lab-chart__bar{animation:lab-grow .6s var(--ease) both;animation-delay:calc(var(--i) * 22ms)}.lab-chart__in{font:600 8.5px var(--font-mono);fill:var(--on-accent);pointer-events:none}.lab-chart__bar.is-weekend~.lab-chart__in{fill:var(--surface)}.lab-chart__bar.is-max~.lab-chart__in{fill:#fff}.lab-chart__in--dim{font-weight:400;opacity:.8}.lab-chart__tick{font:8.5px var(--font-mono);fill:var(--mute)}.lab-chart__line--max{stroke:#00a844;stroke-width:1.2}.lab-chart__line--avg{stroke:var(--ink);stroke-dasharray:4 3;opacity:.7}.lab-chart__tag rect{fill:var(--surface);stroke:currentColor!important;stroke-width:.8}.lab-chart__tag text{font:8.5px var(--font-mono);fill:currentColor}.lab-chart__tag.is-max{color:#00a844}.lab-chart__tag.is-avg{color:var(--ink)}.lab-chart__tip{fill:var(--ink)}.lab-chart__tipText{font:9.5px var(--font-mono);fill:var(--surface)}@keyframes lab-grow{from{transform:scaleY(0)}}.lab-term{border-radius:12px;overflow:hidden;background:var(--dev-bg);border:1px solid var(--dev-line)}.lab-term__bar{display:flex;align-items:center;gap:5px;padding:8px 12px;border-bottom:1px solid var(--dev-line)}.lab-term__bar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}.lab-term__bar i:nth-child(2){background:#febc2e}.lab-term__bar i:nth-child(3){background:#28c840}.lab-term__bar span{margin-left:8px;font-size:12px;color:var(--dev-dim)}.lab-term__body{margin:0;height:240px;overflow:auto;padding:14px 16px;color:var(--dev-ink);font:12.5px/1.65 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.lab-term__body code{font:inherit}.lab-term__body .is-cmd{color:var(--accent)}.lab-term__body .is-ok{color:#5fe0a3}.lab-term__cursor{display:inline-block;width:8px;height:15px;vertical-align:-3px;background:var(--accent);animation:hk-blink 1s steps(1) infinite}@keyframes hk-blink{50%{opacity:0}}@media(max-width:900px){.lab-grid{grid-template-columns:minmax(0,1fr)}.lab-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.lab-card{padding:16px}.lab-parser__form,.lab-api__bar{flex-direction:column}.lab-parser__form .btn,.lab-api__bar .btn{width:100%}.lab-qa{grid-template-columns:minmax(0,1fr)}.lab-card__row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.lab-chart__svg.is-enter .lab-chart__bar,.lab-shot.is-scanning .lab-shot__scan,.lab-steps li.is-active i{animation:none}}.lab-chart__bar.is-max,:root[data-theme=dark] .lab-chart__bar.is-max{fill:#00a844}.lab-chart__bar.is-max~.lab-chart__in,:root[data-theme=dark] .lab-chart__bar.is-max~.lab-chart__in{fill:#fff}.lab-flow{--cols: 3;--gap: 16px;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap);row-gap:10px}.lab-flow__node{position:relative;min-width:0}.lab-flow__node span{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:34px;width:100%}.lab-flow__edge{position:absolute;left:100%;top:50%;width:var(--gap);margin-top:-1px}.lab-flow__node:nth-child(3n) .lab-flow__edge,.lab-flow__node:last-child .lab-flow__edge{display:none}.lab-flow__node:nth-child(3n+1):not(:first-child)::before{content:"↳";position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:1;color:var(--accent-ink);font-size:12px}.lab-flow__node:last-child:nth-child(3n+1){grid-column:1 / -1}.lab-flow__node:last-child:nth-child(3n+2){grid-column:span 2}.lab-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px}.lab-steps li{min-width:0}@media(max-width:720px){.lab-flow{--cols: 2;--gap: 12px}.lab-flow__node:nth-child(3n) .lab-flow__edge{display:block}.lab-flow__node:nth-child(2n) .lab-flow__edge,.lab-flow__node:last-child .lab-flow__edge{display:none}.lab-flow__node:nth-child(3n+1):not(:first-child)::before{content:none}.lab-flow__node:nth-child(2n+1):not(:first-child)::before{content:"↳";position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:1;color:var(--accent-ink);font-size:12px}.lab-flow__node:last-child:nth-child(3n+1),.lab-flow__node:last-child:nth-child(3n+2){grid-column:auto}.lab-flow__node:last-child:nth-child(2n+1){grid-column:1 / -1}.lab-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.lab-flow{grid-template-columns:minmax(0,1fr);row-gap:16px}.lab-flow__node:nth-child(n){grid-column:1 / -1}.lab-flow__node:nth-child(n)::before{content:none!important}.lab-flow__node:nth-child(n) .lab-flow__edge{display:block;left:50%;top:100%;width:2px;height:16px;margin:0 0 0 -1px}.lab-flow__node:last-child .lab-flow__edge{display:none}.lab-flow__edge::after{transform:translateY(-101%)}.lab-flow__node.is-done .lab-flow__edge::after{transform:none}}
