.review-shell{background:var(--color-paper);min-height:100dvh;color:var(--color-ink)}.review-header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;height:4.25rem;padding:0 4vw;display:flex}.review-brand{font-family:var(--font-display);align-items:center;gap:.6rem;display:flex}.review-brand strong{font-size:1.2rem}.review-brand span{color:var(--color-muted);border-left:1px solid var(--color-rule);padding-left:.7rem;font-size:.82rem}.review-link,.run-panel a{color:var(--color-accent);text-decoration:none}.review-link{align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.review-hero{background:var(--color-paper-2);border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:end;gap:2rem;padding:4.2rem 8vw 3.2rem;display:flex}.review-kicker{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.review-hero h1{font:600 clamp(1.8rem, 4vw, 3.5rem)/1.05 var(--font-display);margin:.6rem 0 .7rem}.review-hero p{max-width:38rem;color:var(--color-muted);margin:0}.review-status{color:var(--color-success);align-items:center;gap:.5rem;margin-top:1.4rem;font-size:.82rem;font-weight:600;display:flex}.review-status span{color:var(--color-rule-strong)}.artifact-button{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:.5rem;padding:.7rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.review-grid{background:var(--color-rule);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(20rem,.82fr) minmax(30rem,1.18fr);align-items:start;gap:1px;display:grid}.workflow-panel,.run-panel,.video-panel{background:var(--color-paper);padding:2rem 4vw}.review-side{background:var(--color-rule);gap:1px;display:grid;position:sticky;top:1rem}.panel-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.panel-heading h2{font:600 1.2rem var(--font-display);margin:.45rem 0 1.35rem}.ir-badge,.video-meta{color:var(--color-muted);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:.35rem .5rem;font-size:.72rem}.step-list{gap:.7rem;display:grid}.workflow-step{border-top:1px solid var(--color-rule);grid-template-columns:1.7rem 1.5rem minmax(0,1fr);align-items:start;gap:.65rem;padding:.85rem 0;transition:background-color .12s,box-shadow .12s;display:grid}.workflow-step.is-active{background:#fff7e6;box-shadow:inset 3px 0 #d97706}.playing-badge{color:#92400e;font:700 .65rem var(--font-mono);text-transform:uppercase;margin-left:.55rem;display:inline-block}.step-index{color:var(--color-muted);font:600 .78rem var(--font-mono);padding-top:.15rem}.step-icon{color:var(--color-success);margin-top:.1rem}.workflow-step h3{margin:0 0 .25rem;font-size:.94rem}.workflow-step code,.mono{font:.72rem var(--font-mono);color:var(--color-accent)}.workflow-step p{color:var(--color-muted);margin:.35rem 0 0;font-size:.78rem}.success-dot{background:var(--color-success);border-radius:50%;width:.7rem;height:.7rem;margin-top:.3rem}.run-panel dl{margin:.2rem 0 0}.run-panel dl div{border-top:1px solid var(--color-rule);justify-content:space-between;gap:1rem;padding:.8rem 0;font-size:.8rem;display:flex}.run-panel dt{color:var(--color-muted)}.run-panel dd{text-align:right;margin:0}.video-panel{padding-top:2rem}.video-panel video{aspect-ratio:16/9;border:1px solid var(--color-rule);background:#101214;width:100%;display:block}@media (width<=720px){.review-header{padding:0 1rem}.review-brand span{display:none}.review-hero{padding:2.4rem 1rem 2rem;display:block}.artifact-button{margin-top:1.5rem}.review-grid{flex-direction:column;align-items:stretch;display:flex}.review-side{display:contents}.video-panel{order:1}.workflow-panel{order:2}.run-panel{order:3}.workflow-panel,.run-panel,.video-panel{padding:1.4rem 1rem}.video-meta{display:none}}.review-nav{align-items:center;gap:18px;display:flex}.catalog-heading{max-width:1180px;margin:0 auto;padding:56px 28px 26px}.catalog-heading h1{margin:8px 0;font-size:clamp(2rem,4vw,3.5rem)}.catalog-heading p{color:var(--color-muted);margin:0}.catalog-group{max-width:1180px;margin:0 auto;padding:0 28px 44px}.catalog-group-heading{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:end;gap:1.5rem;padding:0 0 18px;display:flex}.catalog-group-heading h2{font:600 1.5rem/1.15 var(--font-display);margin:7px 0 5px}.catalog-group-heading p{color:var(--color-muted);margin:0;font-size:.88rem}.catalog-group-count{color:var(--color-muted);font:600 .72rem var(--font-mono);white-space:nowrap}.demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1180px;margin:0 auto;display:grid}.demo-card{border:1px solid var(--color-line);background:var(--color-paper);overflow:hidden}.demo-media{aspect-ratio:16/9;background:#15202a;display:block;position:relative;overflow:hidden}.demo-media video{object-fit:cover;width:100%;height:100%;display:block}.demo-placeholder{color:#d8e5ed;background:#253746;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;display:flex}.demo-placeholder span{font-size:.85rem}.demo-profile{color:#fff;background:#0a1218db;padding:5px 9px;font-size:.75rem;position:absolute;bottom:14px;left:14px}.demo-card-body{padding:18px}.demo-state{color:var(--color-success,#27734d);align-items:center;gap:7px;font-size:.82rem;display:flex}.demo-state.is-fixture{color:var(--color-muted)}.demo-state span{color:var(--color-muted);margin-left:auto}.demo-card h2{margin:14px 0 4px;font-size:1.25rem}.demo-card p{color:var(--color-muted);margin:0 0 18px;font-family:monospace;font-size:.82rem}.demo-open{color:inherit;align-items:center;gap:7px;font-weight:600;text-decoration:none;display:inline-flex}@media (width<=600px){.catalog-heading,.catalog-group{padding-left:18px;padding-right:18px}.catalog-group-heading{flex-direction:column;align-items:start;gap:.8rem}.demo-state span{font-size:.72rem}}@media (width>=601px) and (width<=900px){.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.demo-grid{grid-template-columns:1fr}}.blockly-review{border:1px solid var(--color-rule);background:var(--color-workspace);height:300px;margin-bottom:1rem;overflow:hidden}.blockly-review .blocklyHighlighted>.blocklyPath{stroke:#f59e0b;stroke-width:4px}:root{--color-paper:oklch(99% .006 250);--color-paper-2:oklch(96.5% .01 250);--color-paper-3:oklch(93.5% .014 250);--color-workspace:oklch(98% .008 250);--color-ink:oklch(22% .025 255);--color-ink-soft:oklch(38% .025 255);--color-muted:oklch(52% .02 255);--color-rule:oklch(88% .018 250);--color-rule-strong:oklch(72% .025 250);--color-grid:oklch(78% .02 250);--color-accent:oklch(52% .2 256);--color-accent-hover:oklch(46% .2 256);--color-accent-active:oklch(41% .18 256);--color-accent-ink:oklch(99% .006 250);--color-focus:oklch(48% .2 256);--color-success:oklch(46% .12 158);--color-success-soft:oklch(95% .035 158);--color-warning:oklch(58% .13 80);--color-warning-soft:oklch(96% .04 80);--color-error:oklch(50% .18 27);--color-error-hover:oklch(44% .17 27);--color-error-soft:oklch(95% .04 27);--color-overlay:oklch(22% .025 255/.12);--font-display:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--type-xs:.6875rem;--type-sm:.8125rem;--type-base:.9375rem;--type-title:1.125rem;--leading-tight:1.25;--leading-body:1.5;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--control-height:2.75rem;--header-height:3.5rem;--drawer-height:2.75rem;--shadow-menu:0 .5rem 1.5rem var(--color-overlay);--ease-standard:cubic-bezier(.2, 0, 0, 1);--duration-fast:.12s;--duration-normal:.18s}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--type-base);line-height:var(--leading-body)}button,input,select{color:inherit;font:inherit}button{white-space:nowrap}button,input,select,summary{outline-offset:1px;outline:2px solid #0000}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--color-focus)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--color-paper);grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;height:100dvh;display:grid}.product-header{min-height:var(--header-height);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-block-end:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);grid-template-columns:auto minmax(8rem,1fr) auto;display:grid}.brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);display:flex}.brand strong{font-size:var(--type-title);font-weight:600}.brand span{color:var(--color-muted);font-size:var(--type-sm)}.project-name{justify-content:center;min-width:0;display:flex}.project-name input{width:min(100%,24rem);height:2.25rem;padding-inline:var(--space-3);border-radius:var(--radius-md);text-align:center;background:0 0;border:1px solid #0000;font-weight:600}.project-name input:hover{background:var(--color-paper-2)}.project-name input:focus{background:var(--color-paper);border-color:var(--color-rule)}.header-actions{align-items:center;gap:var(--space-2);min-width:0;display:flex}.button,.icon-button{min-height:var(--control-height);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:inline-flex}.button{padding-inline:var(--space-4);font-weight:600}.icon-button{width:var(--control-height);background:var(--color-paper);padding:0}.button.primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button.secondary{background:var(--color-paper)}.button.danger{border-color:var(--color-error);background:var(--color-paper);color:var(--color-error)}.button:active,.icon-button:active{transform:translateY(1px)}.button:disabled,.icon-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.discovery,.connection,.validity{align-items:center;gap:var(--space-1);color:var(--color-muted);font-size:var(--type-xs);text-transform:capitalize;white-space:nowrap;display:inline-flex}.discovery.is-ready,.validity.is-valid,.connection.is-connected{color:var(--color-success)}.discovery.is-error,.discovery.is-offline,.validity.is-error,.is-error{color:var(--color-error)}.status-banner{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-block-end:1px solid var(--color-error);background:var(--color-error-soft);color:var(--color-error);font-size:var(--type-sm);grid-row:2;display:flex}.workbench{grid-row:3;grid-template-columns:minmax(0, 1fr) 6px var(--panel-width);min-width:0;min-height:0;display:grid}.authoring-pane{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);min-width:0;min-height:0;display:grid}.workspace{background:var(--color-workspace);min-width:0;min-height:22rem;position:relative;overflow:hidden}.workspace-loading{place-content:center;justify-items:center;gap:var(--space-3);color:var(--color-muted);z-index:2;display:grid;position:absolute;inset:0}.splitter{cursor:col-resize;background:var(--color-paper-2);border-inline:1px solid var(--color-rule);touch-action:none}.splitter:hover{background:var(--color-accent)}.inspector,.runtime-panel{background:var(--color-paper);min-width:0;overflow:auto}.inspector{border-inline-start:1px solid var(--color-rule)}.inspector-content{padding:var(--space-5)}.panel-kicker{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--type-xs);text-transform:uppercase}.inspector-content h2,.runtime-head h2{margin:var(--space-1) 0 var(--space-2);font-family:var(--font-display);font-size:var(--type-title);overflow-wrap:anywhere;font-style:normal}.inspector-content p{margin:0 0 var(--space-4);color:var(--color-ink-soft);font-size:var(--type-sm)}.metadata{gap:var(--space-1);margin-block:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.metadata span{padding:var(--space-1) var(--space-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:var(--type-xs)}.inspector-fields{gap:var(--space-4);display:grid}.field{gap:var(--space-1);min-width:0;display:grid}.field>label{font-size:var(--type-sm);font-weight:600}.field input:not([type=checkbox]),.field select{width:100%;height:var(--control-height);padding-inline:var(--space-3);border:1px solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper)}.field input:hover,.field select:hover{background:var(--color-paper-2)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--color-error)}.field-help{min-height:1lh;color:var(--color-muted);font-size:var(--type-xs)}.field-help.is-error{color:var(--color-error)}.checkbox-control{min-height:var(--control-height);align-items:center;gap:var(--space-2);display:flex}.checkbox-control input{width:1.125rem;height:1.125rem;accent-color:var(--color-accent)}.empty-panel,.empty-log{justify-content:center;align-items:center;gap:var(--space-2);min-height:8rem;color:var(--color-muted);font-size:var(--type-sm);display:flex}.runtime-panel{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.runtime-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.connection{padding:var(--space-1) var(--space-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.runtime-stats{gap:var(--space-2);display:grid}.runtime-stats div{min-width:0}.runtime-stats span{color:var(--color-muted);font-size:var(--type-xs);display:block}.runtime-stats strong{text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--type-xs);white-space:nowrap;display:block;overflow:hidden}.progress-readout{gap:var(--space-2);padding:var(--space-3);background:var(--color-paper-2);border-radius:var(--radius-md);font-size:var(--type-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.progress-readout progress,.progress-readout small{grid-column:1/-1;width:100%}.progress-readout small{color:var(--color-muted)}.runtime-error{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-error);border-radius:var(--radius-md);background:var(--color-error-soft);color:var(--color-error);display:flex}.runtime-error p{font-size:var(--type-sm);margin:0}.log-list{border-block:1px solid var(--color-rule);flex:1;min-height:8rem;overflow:auto}.log-line{gap:var(--space-2);padding:var(--space-2) 0;border-block-end:1px solid var(--color-rule);font-family:var(--font-mono);font-size:var(--type-xs);grid-template-columns:auto auto minmax(0,1fr);display:grid}.log-line time{color:var(--color-muted)}.result-output,.ir-content pre{background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--type-xs);margin:0;overflow:auto}.result-output{max-height:12rem;padding:var(--space-3);border-radius:var(--radius-md)}.runtime-stop{flex:none;width:100%}.ir-drawer{border-block-start:1px solid var(--color-rule);background:var(--color-paper);grid-row:4;align-self:end}.ir-drawer summary{min-height:var(--drawer-height);align-items:center;gap:var(--space-3);padding-inline:var(--space-4);cursor:pointer;font-size:var(--type-sm);font-weight:600;list-style:none;display:flex}.ir-drawer summary::-webkit-details-marker{display:none}.ir-drawer summary>svg{transition:transform var(--duration-normal) var(--ease-standard);margin-inline-start:auto}.ir-drawer details[open] summary>svg{transform:rotate(180deg)}.ir-content{border-block-start:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) minmax(16rem,24rem);height:min(36dvh,22rem);display:grid}.ir-content pre{padding:var(--space-4)}.validation-report{padding:var(--space-4);border-inline-start:1px solid var(--color-rule);overflow:auto}.validation-report p{color:var(--color-muted);font-size:var(--type-sm)}.validation-report button{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);text-align:start;white-space:normal;background:0 0;border:0;display:flex}.validation-report button span,.validation-report button strong{display:block}.validation-success{align-items:center;gap:var(--space-2);display:flex;color:var(--color-success)!important}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.button.primary:hover{background:var(--color-accent-hover)}.button.secondary:hover,.icon-button:hover{background:var(--color-paper-2)}.button.danger:hover{background:var(--color-error-soft);color:var(--color-error-hover)}}@media (width<=74rem){.authoring-pane{grid-template-columns:minmax(0,1fr) 17rem}.brand span,.discovery{display:none}}@media (width<=60rem){.workbench{grid-template-rows:minmax(28rem,1fr) auto;grid-template-columns:minmax(0,1fr);overflow:auto}.splitter{display:none}.runtime-panel{border-block-start:1px solid var(--color-rule);max-height:24rem}.runtime-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=48rem){.product-header{grid-template-columns:auto minmax(0,1fr)}.project-name{grid-area:2/1/auto/-1}.product-header{min-height:auto}.header-actions{justify-content:flex-end}.button.secondary{display:none}.authoring-pane{grid-template-rows:minmax(26rem,1fr) auto;grid-template-columns:minmax(0,1fr)}.inspector{border-inline-start:0;border-block-start:1px solid var(--color-rule);max-height:18rem}.ir-content{grid-template-columns:minmax(0,1fr);overflow:auto}.validation-report{border-inline-start:0;border-block-start:1px solid var(--color-rule)}}@media (width<=30rem){.brand strong{display:none}.product-header{gap:var(--space-2)}.header-actions{gap:var(--space-1)}.icon-button{width:2.5rem;min-height:2.5rem}.button.primary{min-height:2.5rem;padding-inline:var(--space-3)}.runtime-stats{grid-template-columns:minmax(0,1fr)}.ir-drawer summary{gap:var(--space-2);padding-inline:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
