.builder-icon{vertical-align:middle;flex:0 0 18px;width:18px;height:18px;display:inline-block}.component-dialog.component-dialog{--surface:#fffdf8;--surface-soft:#f2f4ed;--surface-line:#dce2d5;--surface-muted:#647066;font:14px / 1.5 var(--font-sans,sans-serif);width:580px;max-width:calc(100vw - 24px);color:var(--text,#30362e);background:var(--surface);border:1px solid #e0e3d8;border-radius:22px;max-height:calc(100dvh - 40px);padding:0;overflow:hidden;box-shadow:0 24px 90px #172e2940,0 4px 16px #172e2914}.component-dialog.component-dialog[open]{flex-direction:column;display:flex}.component-dialog.component-dialog>:is(header,footer){flex-shrink:0;align-items:center;display:flex}.component-dialog.component-dialog>header>div{flex:1;min-width:0}.component-dialog.component-dialog>footer{justify-content:flex-end}.component-dialog.component-dialog>.component-dialog-body{min-height:0;overflow-y:auto}.component-dialog.component-dialog.is-wide{width:1040px}.component-dialog.component-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#253b355c}.component-dialog.component-dialog>header{background:var(--surface);border-bottom:1px solid var(--surface-line);gap:14px;padding:22px 24px}.component-dialog.component-dialog>header h2{letter-spacing:-.025em;margin:0;font-size:20px;line-height:1.3}.component-dialog.component-dialog .component-dialog-type{color:var(--surface-muted);margin:5px 0 0;font-size:12px}.component-dialog-icon,.catalog-detail-icon{width:44px;height:44px;color:var(--accent,#285e56);background:#e8efe4;border-radius:13px;flex:0 0 44px;place-items:center;display:grid}.component-dialog.component-dialog>header>.component-dialog-icon{flex:0 0 44px}.component-dialog-icon .builder-icon{width:22px;height:22px}.component-dialog.component-dialog>header>button{border:1px solid var(--surface-line);width:44px;height:44px;color:var(--surface-muted);background:0 0;border-radius:12px;flex:0 0 44px;place-items:center;padding:0;display:grid}.component-dialog.component-dialog>.component-dialog-body{scrollbar-width:thin;scrollbar-color:#bbc7b8 transparent;overscroll-behavior:contain;padding:24px}.component-dialog.component-dialog>footer{border-top:1px solid var(--surface-line);background:#f8faf4;gap:16px;padding:16px 24px}.component-dialog.component-dialog>footer>button{flex-shrink:0;margin-left:auto}.component-dialog-note{color:var(--surface-muted);max-width:38ch;margin:0;font-size:12px}.component-dialog.component-dialog button{font:500 13px / 1.4 var(--font-sans,sans-serif);border:1px solid var(--surface-line);background:var(--surface);min-height:44px;color:var(--ink,#30362e);cursor:pointer;border-radius:10px;padding:10px 14px}.component-dialog.component-dialog button:hover:not(:disabled){background:#eef3e9;border-color:#aabbab}.component-dialog.component-dialog button:disabled{opacity:.55;cursor:default}.component-dialog.component-dialog button.builder-primary{color:#fff;background:var(--accent,#285e56);border-color:var(--accent,#285e56);box-shadow:0 2px 5px #285e561c}.component-dialog.component-dialog button.builder-primary:hover:not(:disabled){background:#204c45}.component-dialog.component-dialog input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file])),.component-dialog.component-dialog select,.component-dialog.component-dialog textarea{font:400 14px / 1.5 var(--font-sans,sans-serif);color:var(--ink,#30362e);background-color:#fff;border:1px solid #cdd7c9;border-radius:10px;width:100%;min-height:44px;padding:10px 12px;box-shadow:0 1px 2px #1c302a05}.component-dialog.component-dialog :is(input,textarea)::placeholder{color:#778277}.component-dialog.component-dialog label{color:#465448;gap:7px;margin:10px 0;font-size:12px;font-weight:600;display:grid}.component-dialog.component-dialog label:has(input[type=checkbox]){align-items:center;gap:10px;display:flex}.component-dialog.component-dialog label:has(input[type=checkbox]) input{flex-shrink:0;width:17px;height:17px}.component-dialog.component-dialog :focus-visible{outline:3px solid var(--accent,#285e56);outline-offset:3px}.component-dialog.component-dialog .composition-settings-fields{background:0 0;border:0;padding:0}.component-dialog.component-dialog :is(.settings-section,.catalog-field-group){border:1px solid var(--surface-line);background:#f7f9f3;border-radius:14px;min-width:0;margin:0 0 18px;padding:8px 18px 16px}.component-dialog.component-dialog :is(.settings-section,.catalog-field-group)>legend{color:#315b48;padding:0 8px;font-size:13px;font-weight:650}.component-dialog.component-dialog .settings-section p{color:var(--surface-muted);margin:10px 0;font-size:12px}.component-dialog.component-dialog .settings-section details{border-top:1px solid var(--surface-line);margin-top:14px;padding-top:12px}.component-dialog.component-dialog .settings-section details>summary{color:var(--surface-muted);font-size:12px}.settings-range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.component-dialog.component-dialog .settings-delete{color:#a34035;background:#fff8f4;border-color:#e2cfc7;align-items:center;gap:8px;margin-top:24px;display:flex}.component-dialog.component-dialog .catalog-form{margin-top:20px}.component-dialog.component-dialog .composition-settings-fields>details{border-bottom:1px solid var(--surface-line);padding:14px 0}.component-dialog.component-dialog .composition-settings-fields>details>summary{color:#465448;font-size:13px}.component-library-dialog.component-dialog>.component-dialog-body{padding:0}.component-library-dialog .catalog-controls{border-bottom:1px solid var(--surface-line);background:#f8faf4}.catalog-search-field{grid-area:1/1;align-items:center;min-width:0;display:flex;position:relative}.catalog-search-field>.builder-icon{color:#5f7562;pointer-events:none;position:absolute;left:14px}.component-library-dialog.component-dialog .catalog-search{width:100%;margin:0}.component-library-dialog.component-dialog .catalog-search-field .catalog-search input[type=search]{background:#fff;border-color:#b9c9b7;padding:11px 46px 11px 44px;box-shadow:0 2px 5px #253b3506}.component-library-dialog.component-dialog .catalog-search-clear{background:0 0;border:0;place-items:center;width:40px;min-height:40px;padding:0;display:grid;position:absolute;right:3px}.component-library-dialog .catalog-sections{background:#f4f7ef}.component-library-dialog.component-dialog .catalog-sections button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:10px;display:flex}.component-library-dialog.component-dialog .catalog-sections button[aria-pressed=true]{color:#285e56;background:#e4eddc;border-color:#d2dfca}.component-library-dialog .catalog-results{background:var(--surface)}.component-library-dialog.component-dialog .catalog-card-grid article{border:1px solid var(--surface-line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 6px #253b3505}.component-library-dialog .catalog-card-heading strong{font-size:15px}.component-library-dialog .catalog-card-icon{color:#315b48;background:#eef3e9;border-radius:11px}.component-library-dialog .catalog-card-grid article p{font-size:13px;line-height:1.6}.component-library-dialog.component-dialog .catalog-card-actions>button:not(.builder-primary){color:#285e56;background:0 0;border-color:#0000}.component-library-dialog .catalog-kind{color:#647066;font-size:11px}.component-library-dialog .catalog-detail{background:var(--surface);padding:24px}.component-library-dialog.component-dialog .catalog-back{color:#285e56;background:0 0;border:0;align-items:center;gap:7px;margin:-8px 0 18px -8px;padding:6px 8px;display:inline-flex}.catalog-detail-heading{align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.catalog-detail-heading>div{min-width:0}.catalog-detail-icon{border-radius:16px;flex-basis:56px;width:56px;height:56px}.catalog-detail-icon .builder-icon{width:28px;height:28px}.component-library-dialog .catalog-detail-heading h3{letter-spacing:-.03em;margin:5px 0 10px;font-size:26px;line-height:1.2}.component-library-dialog .catalog-detail-heading p{color:#5a685d;max-width:65ch;margin:0}.catalog-detail-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px;display:grid}.catalog-detail-content{min-width:0}.catalog-detail-content>h4{margin:22px 0 10px;font-size:14px}.catalog-detail-content>h4:first-child{margin-top:0}.catalog-detail-content>ul{margin:0;padding:0;list-style:none}.catalog-detail-content>ul>li{border-bottom:1px solid var(--surface-line);flex-direction:column;padding:10px 0;display:flex}.catalog-detail-content>ul small{color:var(--surface-muted);font-size:11px}.component-library-dialog .catalog-detail-add{background:#edf4e7;border:1px solid #d4e2cc;border-radius:16px;flex-direction:column;align-items:stretch;gap:14px;margin:0;padding:20px;display:flex;position:sticky;top:0}.component-library-dialog .catalog-detail-add h4{color:#315b48;margin:0;font-size:14px}.component-library-dialog.component-dialog .catalog-detail-add label{margin:0}.component-library-dialog .catalog-detail-add p{color:#596a5b;margin:0;font-size:12px}.component-library-dialog.component-dialog .catalog-detail-add button{width:100%}.component-library-dialog .catalog-schematic{border:1px solid var(--surface-line);background:#f1f5ed;border-radius:14px;margin:0 0 24px;padding:18px}.component-library-dialog .catalog-schematic figcaption{color:#647066;margin-top:10px;font-size:11px}.catalog-section-help{color:var(--surface-muted);font-size:12px}.catalog-port-groups{gap:12px;display:grid}.catalog-port-group{border:1px solid var(--surface-line);background:#f8faf5;border-radius:12px;padding:16px}.catalog-port-group h5{color:#315b48;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:12px;display:flex}.catalog-port-group h5>span{background:#e4ecdd;border-radius:20px;padding:2px 8px;font-size:10px}.catalog-port-group ul{margin:0;padding:0;list-style:none}.catalog-port-group li{border-top:1px solid #e7ece1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:7px 0;display:flex}.catalog-port-group li>span{font-size:12px}.catalog-port-group code{color:#6e7b6d;overflow-wrap:anywhere;background:#edf1e8;border-radius:5px;padding:2px 6px;font:10px/1.5 ui-monospace,monospace}.catalog-port-group p{color:var(--surface-muted);margin:0;font-size:12px}.manual-builder .composition-document-menu>div{background:#fffdf8;border-radius:16px;width:min(290px,100vw - 24px);padding:8px}.builder-menu-group{border-bottom:1px solid #e0e5d9;padding:6px 0}.builder-menu-group:last-of-type{border:0}.builder-menu-group>p{letter-spacing:.07em;text-transform:uppercase;color:#7b8777;margin:4px 12px 6px;font-size:10px;font-weight:650}.manual-builder .composition-document-menu .builder-menu-group :is(button,a),.manual-builder .composition-settings-menu>div>button{width:100%;min-height:44px;font:500 13px / 1.4 var(--font-sans,sans-serif);color:#39483e;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;margin:0;padding:10px 12px;text-decoration:none;display:flex}.manual-builder .composition-document-menu .builder-menu-group :is(button,a):hover:not(:disabled),.manual-builder .composition-settings-menu>div>button:hover{background:#edf3e6}.builder-menu-group .builder-icon,.composition-settings-menu .builder-icon{color:#6a8069}.builder-menu-group button small{color:#758072;margin-top:3px;font-size:10px;display:block}.manual-builder .composition-settings-menu>div{background:#fffdf8;border-radius:14px;width:min(270px,100vw - 24px);padding:8px}.manual-builder .composition-settings-menu button[aria-pressed=true]{color:#285e56;background:#e7efdf}.manual-builder .composition-document-menu .composition-clear-action{color:#a34035;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;min-height:44px;margin:4px 0 0;padding:10px 12px;font-size:13px;display:flex}.manual-builder .composition-document-menu .composition-clear-action:hover:not(:disabled){background:#fff1e9}.manual-builder .composition-return,.composition-toolbar>a{align-items:center;gap:6px;display:flex}.manual-builder .composition-storage .builder-icon{flex-basis:14px;width:14px;height:14px}.component-dialog.component-dialog .input-editor-modes{border:1px solid var(--surface-line);background:#eff3e9;border-radius:12px;padding:4px}.component-dialog.component-dialog .input-editor-modes button{background:0 0;border:0;border-radius:9px;font-weight:500}.component-dialog.component-dialog .input-editor-modes button[aria-pressed=true]{color:#285e56;background:#fff;font-weight:650;box-shadow:0 2px 6px #203a2510}.component-dialog.component-dialog .input-editor-connection{background:#f0f5eb;border:1px solid #dce5d5;border-radius:12px;padding:12px 14px}.input-editor-connection>span>small{color:#72816e;margin-top:4px;font-size:11px;display:block}.component-dialog.component-dialog .input-editor-connection>button{color:#667260;min-height:36px;padding:7px 10px;font-size:11px}.input-editor-search-field{display:block;position:relative}.input-editor-search-field>.builder-icon{color:#75876e;pointer-events:none;position:absolute;top:13px;left:13px}.component-dialog.component-dialog .input-editor-search .input-editor-search-field input[type=search]{padding-left:40px}.component-dialog.component-dialog .input-editor-section{background:0 0;border:0;padding:0}.component-dialog.component-dialog .input-editor-section>h3{color:#647066;margin-bottom:12px;font-size:12px}.component-dialog.component-dialog .input-editor-option{border-radius:10px}.component-dialog.component-dialog .builder-library{margin:0}.component-dialog.component-dialog .builder-library h2{color:#6c7967;margin:0 0 16px;font-size:12px;font-weight:500}.component-dialog.component-dialog .builder-library>div{border:1px solid var(--surface-line);background:#f7faf3;border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:12px;display:flex}.component-dialog.component-dialog .builder-library>div>button{text-align:left;background:0 0;border:0;flex:1;padding:8px}.builder-library a{color:#285e56;white-space:nowrap;font-size:12px;text-decoration:none}.saved-experiments-empty{text-align:center;color:#647066;padding:30px 10px}.saved-experiments-empty>.builder-icon{width:32px;height:32px}.builder-feedback.builder-feedback{font:13px / 1.5 var(--font-sans,sans-serif);background:#f1f7ed;border:1px solid #d3dfcb;border-radius:12px;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;margin:0 0 18px;padding:13px 14px;display:grid}.builder-feedback>.builder-icon{color:#53744b;margin-top:2px}.builder-feedback .builder-feedback-content strong{color:#3f5840;font-size:12px;display:block}.builder-feedback .builder-feedback-content p{color:#60735c;margin:3px 0 0;font-size:12px}.builder-feedback.builder-feedback.is-error{background:#fff5ee;border-color:#e7d0bf}.builder-feedback.is-error>.builder-icon,.builder-feedback.is-error .builder-feedback-content strong{color:#9d4837}.builder-feedback.is-error .builder-feedback-content p{color:#7e5e4f}.builder-feedback.builder-feedback--floating{z-index:90;bottom:calc(var(--builder-composer-height,100px) + 32px);width:min(360px,100vw - 40px);max-height:40dvh;margin:0;position:fixed;left:20px;overflow:auto;box-shadow:0 8px 36px #243b3226}.component-dialog.component-dialog .builder-feedback--floating{position:absolute;bottom:104px;left:auto;right:20px}.builder-feedback.builder-feedback>.builder-feedback-dismiss{color:#65755e;background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;min-height:28px;padding:5px;display:grid}.builder-feedback>details{grid-column:2/-1;font-size:11px}.builder-feedback>details>pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto}.builder-feedback-content>button{border-radius:8px;margin-top:10px;padding:7px 10px;font-size:12px}@media (max-width:760px){.catalog-detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}.component-library-dialog .catalog-detail-add{grid-row:1;position:static}.component-library-dialog .catalog-detail{padding:20px}}@media (max-width:600px){.component-dialog.component-dialog{border-radius:18px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px)}.component-dialog.component-dialog>header{gap:10px;padding:16px}.component-dialog.component-dialog>header h2{font-size:17px}.component-dialog.component-dialog>.component-dialog-body{padding:18px}.component-library-dialog.component-dialog>.component-dialog-body{padding:0}.component-dialog.component-dialog>footer{gap:12px;padding:12px 16px}.component-dialog-note{font-size:11px}.component-dialog.component-dialog :is(.settings-section,.catalog-field-group){padding:8px 12px 12px}.settings-range-grid{gap:8px}.component-dialog.component-dialog .settings-range-grid input{padding-inline:8px}.component-library-dialog .catalog-detail-heading h3{font-size:22px}.catalog-detail-heading{gap:12px}.catalog-detail-icon{flex-basis:44px;width:44px;height:44px}.component-dialog.component-dialog .input-editor-connection>button{min-height:44px}.builder-feedback.builder-feedback--floating{bottom:calc(var(--builder-composer-height,100px) + 32px);width:calc(100vw - 32px);left:16px}.component-dialog.component-dialog .builder-feedback--floating{bottom:150px;left:16px;right:16px}.component-dialog.component-dialog .builder-library>div{flex-wrap:wrap}}.component-dialog.component-dialog select{padding-right:34px}.component-dialog.component-dialog>footer>.component-dialog-close{margin-left:auto}.component-dialog.component-dialog>footer>.builder-primary+.component-dialog-close{margin-left:0}.component-dialog.component-dialog>footer:has(.builder-primary) .component-dialog-note{margin-right:auto}.component-dialog.component-dialog>footer .builder-primary{flex-shrink:0}.component-library-dialog .catalog-detail-add{text-align:left}.component-library-dialog.component-dialog .catalog-detail-add select{font-size:12px}@media (max-width:600px){.component-dialog.component-dialog>footer:has(.builder-primary){grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.component-dialog.component-dialog>footer:has(.builder-primary) .component-dialog-note{grid-column:1/-1;max-width:none}.component-dialog.component-dialog>footer:has(.builder-primary)>button{margin:0}}@media (max-width:1350px){.manual-builder .composition-graph .connection-camera-tools{bottom:calc(var(--builder-composer-height,100px) + 28px)}}@media (min-width:601px){.builder-feedback.builder-feedback--floating{left:auto;right:20px}}@media (max-width:600px){.builder-feedback.builder-feedback--floating{bottom:calc(var(--builder-composer-height,100px) + 108px)}.component-dialog.component-dialog .builder-feedback--floating{bottom:150px}}.component-dialog.component-dialog .settings-form-error{color:#8c4334;background:#fff3eb;border:1px solid #e7cdbb;border-radius:10px;padding:12px 14px;font-size:12px}.component-dialog.component-dialog label:has(input[type=checkbox]){flex-direction:row}.manual-builder .composition-document-menu .builder-menu-group button:disabled{opacity:1;color:#859080}.manual-builder .composition-document-menu .builder-menu-group button:disabled small{color:#65715f;font-size:11px}.manual-builder.composition-builder{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.manual-builder.composition-builder>.composition-toolbar,.manual-builder.composition-builder>.composition-tabs{flex-shrink:0}.manual-builder.composition-builder>.composition-workspace{flex:1;min-height:0;position:relative}.manual-builder.composition-builder .composition-graph{height:100%;min-height:0}.manual-builder.composition-builder .composition-graph .connection-workspace{flex-direction:column;height:100%;min-height:0;display:flex}.manual-builder.composition-builder .composition-graph .connection-navigation{flex:1;min-height:0}.manual-builder.composition-builder .composition-graph .connection-navigation .builder-canvas-scroll{height:100%;min-height:0}.manual-builder.composition-builder .composition-preview{height:100%;margin-top:0;overflow:auto}.unsaved-dialog.component-dialog{width:560px}.unsaved-intro{color:#3d4a3f;margin:0 0 12px;font-size:15px}.unsaved-intro strong{overflow-wrap:anywhere}.unsaved-destination{color:#65715f;align-items:center;gap:9px;margin:0;font-size:12px;display:flex}.unsaved-copy{background:#f1f5eb;border:1px solid #dce5d4;border-radius:14px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;margin:24px 0 16px;padding:18px;display:grid}.unsaved-copy>.builder-icon{color:#62805c;margin-top:2px}.unsaved-copy h3{color:#39543c;margin:0 0 5px;font-size:13px}.unsaved-copy p{color:#667561;margin:0;font-size:12px;line-height:1.6}.unsaved-copy>button{grid-column:2;justify-self:start}.unsaved-alternatives{flex-wrap:wrap;gap:10px;padding-top:10px;display:flex}.unsaved-alternatives>button{align-items:center;gap:7px;display:inline-flex}.component-dialog.unsaved-dialog .unsaved-alternatives>button.unsaved-discard{color:#9a4436;background:0 0;border-color:#0000;gap:12px;min-height:48px;padding:14px 22px}.component-dialog.unsaved-dialog .unsaved-alternatives>button.unsaved-discard:hover:not(:disabled){color:#852b22;background:#fff1e9;border-color:#ead2c7}.unsaved-error{color:#8c4334;background:#fff3eb;border:1px solid #e7cdbb;border-radius:10px;gap:10px;margin-top:18px;padding:13px;font-size:12px;display:flex}.unsaved-error p{margin:4px 0 0}.command-bar__stop-icon{background:currentColor;border-radius:2px;width:9px;height:9px;display:inline-block}.builder-composer .command-bar__meta{flex-wrap:wrap;gap:8px;padding:0 0 8px}.builder-composer .command-bar__status{flex-wrap:wrap;gap:8px;width:100%}.builder-composer .command-bar__status-copy{flex:1;min-width:0}.builder-composer .command-bar__status-copy output{font-size:12px}.builder-composer .command-bar__status-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.builder-composer .command-bar__status-actions:empty{display:none}.builder-composer .command-bar__status-card{background:#f2f7ed;border:1px solid #d4e1cb;border-radius:16px;padding:14px 16px;display:block;box-shadow:0 3px 16px #273a2210}.builder-composer .command-bar__status-card.command-bar__status--error{background:#fff6f0;border-color:#e7cfc0}.builder-composer .command-bar__status-card .command-bar__status-copy output{color:#355839;gap:8px;font-size:13px;font-weight:650;display:flex}.builder-composer .command-bar__status-card.command-bar__status--error .command-bar__status-copy output{color:#934a38}.builder-composer .command-bar__status-copy p{color:#63725b;margin:7px 0 12px;font-size:12px;line-height:1.6}.builder-composer .command-bar__status--error .command-bar__status-copy p{color:#7d6556}.manual-builder .builder-composer .command-bar__status-actions>button{min-height:36px;font:500 12px / 1.4 var(--font-sans,sans-serif);color:#355c43;background:#fffdf8;border:1px solid #d3dfcb;border-radius:9px;align-items:center;gap:6px;padding:7px 10px;text-decoration:none;display:inline-flex}.manual-builder .builder-composer .command-bar__status-actions>button:hover:not(:disabled){color:#285e56;background:#eaf2e3;border-color:#b6c9ad}.manual-builder .builder-composer .command-bar__status-actions>.command-bar__details-action{color:#75816d;background:0 0;border-color:#0000;margin-left:auto;font-size:11px}.command-bar__clarifications{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.manual-builder .builder-composer .command-bar__clarifications>button{min-height:40px;font:500 12px / 1.5 var(--font-sans,sans-serif);text-align:left;color:#395d41;background:#fffdf8;border:1px solid #d6e2cc;border-radius:9px;padding:8px 10px}.manual-builder .builder-composer .command-bar__clarifications>button:hover:not(:disabled){background:#e6f0dd;border-color:#b5cba8}.builder-composer .command-bar__popover{background:#fffdf8;border-color:#dce2d5;border-radius:16px}.builder-composer .command-bar__popover-heading{font-size:13px}.manual-builder .builder-composer .command-bar__popover-heading>button{color:#65765d;background:0 0;border:0;place-items:center;width:36px;min-height:36px;padding:0;display:grid}.builder-composer .command-bar__popover p{font-size:12px}@media (max-width:600px){.unsaved-dialog.component-dialog>footer:has(.builder-primary){flex-wrap:wrap;justify-content:flex-end;display:flex}.builder-composer .command-bar__status-card{padding:12px}.manual-builder .builder-composer .command-bar__status-actions>button,.manual-builder .builder-composer .command-bar__clarifications>button{min-height:44px}}.command-bar__clarifications{border:0;min-width:0;padding:0}.builder-composer .command-bar__status-card{overscroll-behavior:contain;max-height:min(320px,42dvh);overflow-y:auto}.builder-composer .command-bar__popover{max-height:min(320px, max(100px, calc(100dvh - var(--builder-composer-height,150px) - 190px)))}.manual-builder .builder-composer .command-bar__clarifications>button{text-decoration:none}.manual-builder :is(.board-navigation-help,.connection-help)>summary:before{content:none}.manual-builder :is(.board-navigation-help,.connection-help)>summary{flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;min-height:40px;margin:0;padding:0;list-style:none;display:flex}.manual-builder :is(.board-navigation-help,.connection-help){flex:none}.component-dialog.component-dialog :is(label,input,select,textarea){min-width:0}.component-dialog.component-dialog button{overflow-wrap:anywhere}.component-dialog.component-dialog button:has(>.builder-icon){justify-content:center;align-items:center;gap:8px;display:inline-flex}.manual-builder .connection-camera-tools{max-width:calc(100% - 24px)}.manual-builder .connection-help>div{width:min(280px,100vw - 32px);max-height:max(100px, calc(100dvh - var(--builder-composer-height,100px) - 210px));overscroll-behavior:contain;left:auto;right:-6px;overflow:auto}.manual-builder .connection-options>summary:before{content:none}.manual-builder .connection-options>summary{justify-content:center;align-items:center;padding:8px;display:flex}.manual-builder :is(.composition-document-menu,.composition-settings-menu)>div{overscroll-behavior:contain;max-width:calc(100vw - 24px);max-height:max(160px,100dvh - 180px);overflow:auto}.component-dialog.component-dialog.publication-dialog{width:650px;padding:0;overflow:hidden}.component-dialog.publication-dialog .project-check{border:1px solid var(--surface-line);background:var(--surface-soft);border-radius:12px;gap:12px;margin:20px 0;padding:14px}.component-dialog.publication-dialog .project-check input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin-top:3px}.component-dialog.publication-dialog .component-dialog-body>details{border:1px solid var(--surface-line);border-radius:12px;margin:20px 0;padding:14px}.component-dialog.publication-dialog .component-dialog-body>details>summary{cursor:pointer;line-height:1.5}
.html-component-import{gap:12px;min-width:0;display:grid}.html-component-import .catalog-form .number-field-heading{grid-template-columns:minmax(0,1fr);display:grid}.html-component-import .catalog-form .number-field-heading>label{margin:0}.html-component-import .catalog-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.html-component-import textarea{box-sizing:border-box;width:100%}.html-component-import pre{max-height:240px;overflow:auto}.imported-component-view{flex-direction:column;min-width:0;height:360px;display:flex}.board-item .imported-component-view{height:100%}.imported-component-view .imported-component-frame{flex:1;min-height:0}
.recipe-component-item[data-component-definition=displays\/AgentProfile],.recipe-component-item[data-component-definition=controls\/AgentActions]{box-shadow:none;background:0 0;border:0;padding:0}.recipe-component-item[data-component-definition=displays\/AgentTranscript],.spatial-board .board-content .recipe-component-item[data-component-definition=displays\/AgentTranscript]{background:var(--panel,#fffbef);border-radius:24px;padding:24px 28px}.agent-profile,.agent-conversation,.agent-actions{color:var(--text,#30362e);min-width:0;font:inherit}.agent-avatar{flex-shrink:0;width:88px;height:88px}.recipe-component-item .agent-person{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.recipe-component-item .agent-person>svg.agent-avatar{width:78px;min-width:78px;max-width:78px;height:78px;transition:transform .16s}.agent-person:hover .agent-avatar{transform:scale(.96)}.agent-person-name{align-items:center;gap:6px;font-size:18px;font-weight:750;display:flex}.agent-person-team{color:#285e56;background:#e2ece3;border-radius:20px;padding:3px 6px;font-size:11px;font-weight:650}.agent-person-team:empty{display:none}.agent-person-role{text-align:center;max-width:138px;font-size:13px;line-height:1.35}.agent-person-hint{color:#64766a;font-size:11px}.agent-speaking-ring{opacity:0}.agent-profile.is-speaking .agent-person .agent-speaking-ring{opacity:1}.recipe-component-item .agent-stage-heading h2{letter-spacing:-.035em;margin:8px 0 18px;font-size:26px;line-height:1.25}.agent-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#285e56);font-size:11px;font-weight:700;display:block}.agent-speech-stage{min-height:228px}.agent-stage-intro{text-align:center;background:linear-gradient(135deg,#eef3e8,#faf0e1);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:228px;padding:12px 28px;display:flex}.agent-conversation-art{width:220px;height:106px}.recipe-component-item .agent-stage-intro h3{letter-spacing:-.02em;margin:8px 0;font-size:23px;line-height:1.25}.agent-stage-intro p{color:#626c60;max-width:390px;margin:0;font-size:15px;line-height:1.5}.agent-speaker-line{align-items:center;gap:12px;margin-bottom:10px;display:flex}.agent-conversation .agent-speaker-line>svg.agent-avatar{flex:0 0 46px;width:46px;min-width:46px;max-width:46px;height:46px}.agent-speaker-line strong{font-size:17px;display:block}.agent-speaker-line span{color:#64766a;font-size:12px}.agent-speech-number{white-space:nowrap;margin-left:auto}.agent-speech-bubble{scrollbar-width:thin;background:#eaf1e7;border-radius:3px 22px 22px;max-height:320px;padding:18px 24px;position:relative;overflow:auto}.agent-speech-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:18px;line-height:1.65}.agent-speech-bubble nav{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.agent-speech-bubble a{color:var(--accent,#285e56);font-size:13px;text-decoration:underline}.agent-speech-navigation{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.agent-speech-navigation span{color:#64766a;font-size:12px}.recipe-component-item .agent-speech-navigation button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #d5cdbb;border-radius:12px;padding:8px 14px;font-size:14px}.agent-context-details,.agent-full-transcript,.agent-run-details{color:#626c60;margin-top:12px;font-size:13px}.agent-context-details summary,.agent-full-transcript summary,.agent-run-details summary{cursor:pointer;min-height:32px}.agent-context-details p,.agent-run-details p{line-height:1.6}.agent-messages{max-height:340px;margin:12px 0;padding:0;list-style:none;overflow:auto}.agent-messages li{border-top:1px solid #d5cdbb;padding:14px 0}.agent-message-heading{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.agent-message-heading span,.agent-caption{color:#626c60;font-size:13px}.agent-messages li p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65}.agent-messages nav{flex-wrap:wrap;gap:10px;display:flex}.agent-messages a{color:var(--accent,#285e56)}.agent-actions{padding:0 4px}.agent-action-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.recipe-component-item .agent-actions button,.recipe-component-item .agent-run-details button{background:var(--panel,#fffbef);color:inherit;cursor:pointer;min-height:48px;font:inherit;border:1px solid #d5cdbb;border-radius:12px;padding:12px 20px;font-size:15px}.recipe-component-item .agent-actions .agent-primary{background:var(--accent,#285e56);border-color:var(--accent,#285e56);color:#fff;min-width:180px;font-weight:700}.agent-progress{color:#626c60;font-size:13px;line-height:1.5;display:block}.agent-options-menu{background:#fffbef;border:1px solid #d5cdbb;border-radius:14px;gap:6px;min-width:240px;padding:10px;display:grid;box-shadow:0 8px 28px #30362e20}.agent-options-menu button{text-align:left;background:0 0;border:0}.agent-options-menu button:hover{background:#eaf1e7}.agent-error{color:#943b30;margin:6px 0;font-size:14px;line-height:1.4}.agent-history{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;font-size:13px;display:flex}.agent-history select{max-width:100%;min-height:44px;font:inherit;background:#fffbef;border:1px solid #d5cdbb;border-radius:8px;padding:8px}.agent-person-dialog{color:#30362e;background:#fffbef;border:1px solid #d5cdbb;border-radius:24px;width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:30px;box-shadow:0 24px 80px #30362e30}.agent-person-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#30362e66}.agent-dialog-close{cursor:pointer;width:44px;height:44px;color:inherit;background:0 0;border:0;font-size:28px;position:absolute;top:14px;right:14px}.agent-person-dialog h2{margin:10px 0;font-size:25px;line-height:1.25}.agent-person-dialog .agent-eyebrow{margin-top:18px}.agent-personality{color:#285e56;font-size:17px;line-height:1.5}.agent-person-dialog dt{text-transform:uppercase;letter-spacing:.06em;color:#64766a;margin-top:18px;font-size:11px;font-weight:750}.agent-person-dialog dd{margin:6px 0;font-size:15px;line-height:1.6}.agent-person-dialog .agent-caption{margin-top:24px;line-height:1.5}.agent-conversation-dialog{width:min(680px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text,#30362e);background:var(--panel,#fffbef);border:1px solid #d5cdbb;border-radius:20px;padding:28px;overflow:auto}.agent-conversation-dialog::backdrop{background:#30362e66}.agent-conversation-dialog h2{margin:0 44px 24px 0;font-size:24px}.agent-conversation-dialog h3{font-size:16px}.agent-conversation-dialog .agent-dialog-close{background:0 0;border:0;padding:0;font-size:28px}.agent-person:focus-visible,.agent-conversation button:focus-visible,.agent-conversation a:focus-visible,.agent-conversation summary:focus-visible,.agent-actions button:focus-visible,.agent-person-dialog button:focus-visible,.agent-speech-bubble:focus-visible,.agent-history select:focus-visible{outline:3px solid var(--accent,#285e56);outline-offset:3px}.agent-actions button:disabled,.agent-speech-navigation button:disabled{opacity:.4;cursor:default}@media (max-width:600px){.recipe-component-item[data-component-definition=displays\/AgentTranscript],.spatial-board .board-content .recipe-component-item[data-component-definition=displays\/AgentTranscript]{padding:20px 18px}.recipe-component-item .agent-stage-heading h2{font-size:23px}.agent-stage-intro{padding:14px}.recipe-component-item .agent-stage-intro h3{font-size:21px}.agent-conversation-art{width:180px;height:94px}.agent-speech-bubble{max-height:none;padding:16px;overflow:visible}.agent-speech-bubble p{font-size:17px}.agent-action-row{flex-wrap:wrap;gap:8px}.recipe-component-item .agent-actions .agent-primary{flex:1;min-width:0}.recipe-component-item .agent-actions button{padding:12px 14px;font-size:14px}.agent-speech-navigation span{text-align:center;font-size:11px}.recipe-component-item .agent-person>svg.agent-avatar{width:74px;min-width:74px;max-width:74px;height:74px}}@media (prefers-reduced-motion:reduce){.agent-person .agent-avatar{transition:none}}.agent-options-menu[popover]{width:280px;max-width:calc(100vw - 32px);height:fit-content;max-height:calc(100dvh - 32px);margin:auto;position:fixed;inset:0;overflow:auto}.agent-options-menu[popover]:not(:popover-open){display:none}.agent-options-menu::backdrop{background:#30362e22}.recipe-component-item .agent-actions .agent-options-trigger{background:0 0;border:0;margin-left:auto;font-size:13px}.spatial-board .board-item[data-board-component=displays\/AgentProfile],.spatial-board .board-item[data-board-component=controls\/AgentActions]{box-shadow:none;background:0 0;border-color:#0000}.spatial-board .board-item:is([data-board-component=displays\/AgentProfile],[data-board-component=displays\/AgentTranscript],[data-board-component=controls\/AgentActions])>.board-content{padding:0}
.recipe-component-item[data-component-definition^=appearance\/cycle-]>.recipe-scene-content{height:100%;min-height:0;display:flex}.board-item:has(.cycle-actions,.cycle-caption,.cycle-activity)>.board-content{background:0 0;border:0;padding:0}.board-item:has(.cycle-actions,.cycle-caption,.cycle-activity){box-shadow:none;background:0 0;border:0}.cycle-scene{width:100%;height:100%;color:var(--text,#30362e);box-sizing:border-box;background:var(--panel,#fffbef);border-radius:18px;flex-direction:column;padding:16px 20px 8px;display:flex}.cycle-question{letter-spacing:-.025em;margin:0 0 8px;font-size:23px;font-weight:600;line-height:1.3}.cycle-plots{flex:1;justify-content:center;gap:16px;min-height:0;display:flex}.cycle-plots figure{flex-direction:column;flex:1;align-items:center;min-width:0;min-height:0;margin:0;display:flex}.cycle-art{width:100%;max-width:740px;height:0;min-height:0;color:var(--text);flex:1;font-family:inherit;display:block}.cycle-art text{fill:currentColor}.cycle-art text[fill=\#fffbef]{fill:#fffbef}.cycle-plot-title{text-align:center;width:100%;margin:4px 0 8px;font-size:18px;font-weight:600}.cycle-context{color:#626c60;margin:8px 0 0;font-size:14px;line-height:1.4}.cycle-caption{color:var(--text,#30362e);margin:0;padding:4px 0;font-size:17px;line-height:1.55}.cycle-actions,.cycle-activity{flex-wrap:wrap;align-items:center;gap:12px;padding:0;display:flex}.cycle-actions .cycle-primary,.cycle-dialog .cycle-primary{color:#fff;font:inherit;cursor:pointer;background:#285e56;border:1px solid #285e56;border-radius:9px;min-height:56px;padding:12px 20px;font-size:16px;font-weight:600;line-height:1.3}.cycle-activity .cycle-secondary,.cycle-dialog .cycle-secondary{color:#285e56;font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:1px solid #0000;min-height:56px;padding:10px 4px;font-size:15px;text-decoration:underline}.cycle-actions button:focus-visible,.cycle-activity button:focus-visible,.cycle-dialog :focus-visible{outline-offset:4px;outline:3px solid #285e56}.cycle-dialog{background:var(--panel,#fffbef);width:min(470px,100vw - 48px);max-height:calc(100vh - 64px);color:var(--text,#30362e);border:1px solid var(--border,#d5cdbb);box-sizing:border-box;border-radius:16px;padding:24px;overflow:auto}.cycle-dialog::backdrop{background:#30362e55}.cycle-dialog h2{margin:0 0 24px;font-size:22px}.cycle-dialog label{gap:8px;margin:16px 0;font-size:16px;display:grid}.cycle-dialog select{width:100%;font:inherit;background:#fffbef;border:1px solid #d5cdbb;border-radius:8px;min-height:46px;padding:8px 10px}.cycle-dialog p{font-size:16px;line-height:1.5}.cycle-dialog-actions{align-items:center;gap:16px;margin-top:24px;display:flex}.cycle-measurement{margin:8px 0 0;font-size:16px}.cycle-ocean-values{gap:28px;font-size:14px;display:flex}.cycle-ocean-values p{flex:1;margin:4px 0}.cycle-ocean-values strong{font-size:17px;font-weight:600;display:block}@media (max-width:700px){.recipe-component-item[data-component-definition^=appearance\/cycle-]>.recipe-scene-content{height:auto}:is(.board-item:has(.cycle-actions,.cycle-caption,.cycle-activity) .recipe-layout,.board-item:has(.cycle-actions,.cycle-caption,.cycle-activity) .recipe-component-item){height:auto;min-height:0}.cycle-scene{height:auto;min-height:360px;padding:12px}.cycle-question{font-size:20px}.cycle-pair{flex-direction:column;min-height:0}.cycle-pair figure{min-height:0}.cycle-art{aspect-ratio:520/380;flex:none;height:auto;min-height:0}.cycle-ocean-values{flex-direction:column;gap:8px}.cycle-caption{font-size:16px}}.experiment-workspace:has(.cycle-scene) .board-workspace-tools{display:none}@media (max-width:700px){.cycle-art text{font-size:24px}.cycle-art .cycle-path-label,.cycle-art .cycle-air-label{display:none}.cycle-art .cycle-chemical text{font-size:24px}.experiment-workspace:has(.cycle-scene) .board-viewport{touch-action:pan-y;overflow-y:auto}}
.ea-scene{width:100%;height:100%;min-height:320px;color:var(--text,#30362e);flex-direction:column;font-family:inherit;display:flex}.ea-scene h2{margin:0 0 12px;font-size:clamp(18px,2vw,24px);font-weight:600;line-height:1.25}.ea-drawing{background:#f8f5eb;border-radius:14px;flex:1;min-height:230px;position:relative;overflow:hidden}.ea-drawing>svg{width:100%;height:100%;max-height:390px;display:block}.ea-drawing text{fill:#30362e;font-family:inherit;font-size:16px}.ea-note{color:#626c60;margin:8px 0 0;font-size:13px}.ea-caption{max-width:68ch;color:var(--text,#30362e);margin:0;font-size:16px;line-height:1.5}.ea-controls{flex-wrap:wrap;align-items:center;gap:12px;height:auto;display:flex}.ea-controls button,.ea-controls select,.ea-camera select{font:inherit;cursor:pointer;border-radius:8px;min-height:44px;padding:10px 16px;font-size:15px}.ea-controls .ea-primary{color:#fff;background:#285e56;border:1px solid #285e56;font-weight:600}.ea-controls .ea-secondary{color:#285e56;background:#fffbef;border:1px solid #d5cdbb}.ea-choice{align-items:center;gap:8px;font-size:15px;display:flex}.ea-choice select,.ea-camera select{color:#30362e;background:#fffbef;border:1px solid #d5cdbb}.ea-altitude{grid-template-columns:auto auto;align-items:center;gap:6px 12px;width:min(420px,100%);font-size:16px;display:grid}.ea-altitude output{text-align:right;font-variant-numeric:tabular-nums}.ea-altitude input{accent-color:#285e56;grid-column:1/-1;width:100%;height:32px}.ea-camera{justify-content:flex-end;align-items:center;gap:8px;margin:8px 0 0;font-size:14px;display:flex}.ea-3d{position:absolute;inset:0}.ea-inset{background:#fffbefee;border:1px solid #d5cdbb;border-radius:10px;width:38%;position:absolute;top:12px;right:12px}.ea-inset svg{width:100%;display:block}.ea-inset p{margin:0;padding:0 12px 8px;font-size:13px}.ea-scene :focus-visible,.ea-controls :focus-visible{outline-offset:3px;outline:3px solid #285e56}@media (max-width:700px){.ea-scene h2{font-size:19px}.ea-drawing{min-height:260px}.ea-inset{width:48%}.ea-choice{flex-wrap:wrap}.ea-controls{gap:8px}.ea-camera{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.ea-scene *{transition:none!important;animation:none!important}}.ea-loading-explanation{position:absolute;inset:0}.ea-loading-explanation svg{width:100%;height:100%}.ea-controls{justify-content:flex-end}@media (max-width:700px){.ea-controls{justify-content:flex-start}}.ea-scene{height:420px;min-height:420px}.ea-inset{flex-direction:column;height:calc(100% - 24px);display:flex}.ea-inset svg{flex:1;height:calc(100% - 48px);min-height:0}.ea-inset p{flex-shrink:0}.ea-mobile-key{display:none}@media (max-width:700px){.ea-scene[data-earth=earthquake] .ea-drawing,.ea-scene[data-earth=rainbow] .ea-drawing{min-height:210px}.ea-mobile-key{margin:8px 0 0;font-size:14px;line-height:1.4;display:block}.ea-drawing text{display:none}.ea-scene[data-earth=atmosphere] .ea-drawing text{font-size:32px;display:block}.ea-scene[data-earth=atmosphere] .ea-drawing text.ea-layer-altitudes,.ea-scene[data-earth=atmosphere] .ea-drawing>svg>text{display:none}.ea-inset{width:64%}.ea-inset p{font-size:12px}}@media (min-width:701px) and (max-height:760px){.ea-scene{box-sizing:border-box;height:360px;min-height:360px;padding-top:16px}}
.board-item:has(.collective-control){box-shadow:none;background:0 0;border:0;padding:0}.board-item:has(.collective-control)>.board-content{box-shadow:none;background:0 0;border:0;padding:0}.experiment-workspace:has(.collective-scene) .board-workspace-tools{display:none}.recipe-component-item[data-component-definition^=appearance\/collective-]>.recipe-scene-content{height:100%;min-height:0;display:flex}.collective-scene{width:100%;height:480px;color:var(--text,#30362e);box-sizing:border-box;flex-direction:column;padding:20px 24px 16px;font-family:inherit;display:flex}.collective-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.collective-heading h2{letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(20px,2vw,28px);font-weight:650;line-height:1.2}.collective-eyebrow{color:#626c60;letter-spacing:.09em;text-transform:uppercase;font-size:12px}.collective-stamp{white-space:nowrap;color:#536652;background:#e8eddf;border-radius:30px;margin-top:4px;padding:8px 13px;font-size:13px}.collective-scene svg{flex:1;width:100%;height:0;min-height:0;max-height:360px;display:block}.collective-scene .scene-small{fill:#30362e;font-family:inherit;font-size:14px}.collective-scene .scene-footnote{fill:#536652;font-family:inherit;font-size:12px}.collective-scene .lake-count{fill:#285e56;font-family:inherit;font-size:36px;font-weight:650}.fishing-bottom{justify-content:center;align-items:center;gap:40px;margin-top:5px;font-size:14px;display:flex}.fishing-bottom strong{color:#285e56;margin-left:6px;font-weight:650}.fishing-rule{color:#626c60;font-size:12px}.crowd-pair{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:0;display:grid}.crowd-pair figure{flex-direction:column;min-width:0;min-height:0;margin:0;display:flex}.crowd-pair svg{min-height:0;max-height:none}.crowd-pair figcaption{justify-content:space-between;align-items:center;margin:0 16px 10px;font-size:14px;display:flex}.crowd-pair figcaption span{color:#626c60;font-size:13px}.crowd-result{text-align:center;color:#626c60;margin-top:3px;font-size:13px}.crowd-result strong{color:#285e56;margin-right:4px;font-size:21px}.crowd-dot{transition:cx 50ms linear,cy 50ms linear}.scene-note{color:#626c60;margin:12px 0 0;font-size:13px;line-height:1.5}.vote-legend{grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 20px;display:grid}.vote-legend>div{background:#f4f0e5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.vote-legend span{color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;font-weight:650;display:grid}.vote-legend strong{font-size:14px;font-weight:550}.vote-legend b{margin-left:auto;font-size:14px;font-weight:650}.vote-legend em{color:#285e56;width:100%;padding-left:33px;font-size:12px;font-style:normal}.vote-legend .vote-winner{background:#e3eee7;outline:2px solid #2f7b70}.voter-grid{border:0;grid-template-columns:repeat(20,1fr);gap:10px;min-width:0;max-width:920px;max-height:280px;margin:0 auto;padding:0;display:grid;overflow-y:auto}.voter-grid .voter-dot{width:34px;height:34px;min-height:0;box-shadow:none;cursor:pointer;color:#fff;border:2px solid #fffbef;border-radius:50%;justify-self:center;place-items:center;padding:0;font:600 9px/1 inherit;transition:background .35s,transform .35s;display:grid}.voter-dot span{color:#fff;text-shadow:0 1px 2px #30362e;font-size:9px}.voter-dot.dot-selected,.voter-dot:focus-visible{outline-offset:3px;outline:2px solid #30362e}.vote-transfer{animation:.65s ease-out vote-transfer}@keyframes vote-transfer{50%{transform:scale(1.3)}}.vote-detail{color:#626c60;flex-wrap:wrap;justify-content:center;gap:10px;min-height:28px;margin-top:18px;font-size:13px;display:flex}.vote-detail strong{color:#30362e}.selection-stage{border-radius:18px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.habitat-label{color:#30362e;background:#fffbefeb;border-radius:24px;padding:6px 12px;font-size:12px;position:absolute;top:12px;left:16px}.organism-dot{cursor:pointer;transition:opacity .5s}.organism-dot:focus-visible{outline-offset:4px;outline:2px solid #dca74e}.trait-strip{color:#626c60;align-items:end;gap:12px;margin-top:14px;font-size:12px;display:flex}.trait-strip>div{flex:1;align-items:end;gap:3px;height:42px;display:flex}.trait-strip>div>div{border-radius:3px 3px 0 0;flex:1;min-height:4px}.trait-strip strong{white-space:nowrap;color:#30362e;align-self:center;margin-left:16px;font-size:13px}.collective-control{color:var(--text,#30362e);font-family:inherit}.collective-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.collective-control .collective-primary{color:#fffbef;cursor:pointer;background:#285e56;border:0;border-radius:10px;min-height:52px;padding:11px 23px;font:600 15px/1.3 inherit;box-shadow:0 2px 4px #285e5615}.collective-control .collective-secondary{color:#285e56;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;min-height:50px;padding:10px 4px;font:500 14px/1.3 inherit;text-decoration:underline}.collective-control button:focus-visible,.collective-choice select:focus-visible{outline-offset:3px;outline:3px solid #8d9982}.collective-choice{color:#626c60;align-items:center;gap:12px;font-size:14px;display:flex}.collective-choice select{color:#30362e;background:#fffbef;border:1px solid #d5cdbb;border-radius:9px;min-width:170px;max-width:100%;min-height:50px;padding:9px 30px 9px 12px;font:500 14px/1.3 inherit}.collective-caption{color:#52624f;max-width:700px;margin:0;font-size:15px;line-height:1.5}@media (max-width:700px){.recipe-component-item[data-component-definition^=appearance\/collective-]>.recipe-scene-content{height:auto}.collective-scene{height:auto;padding:16px 10px}.collective-scene svg{flex:none;height:auto}.experiment-workspace:has(.collective-scene) .board-viewport{touch-action:pan-y;overflow-y:auto}.collective-heading{flex-direction:column;gap:8px}.collective-heading h2{font-size:22px}.collective-stamp{margin:0;font-size:12px}.collective-eyebrow{font-size:10px}.crowd-pair{grid-template-columns:1fr;gap:18px}.fishing-bottom{flex-wrap:wrap;gap:10px;font-size:12px}.fishing-rule{text-align:center;width:100%}.voter-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px 4px}.voter-grid .voter-dot{width:44px;height:44px}.vote-legend{gap:6px}.vote-legend>div{gap:5px;padding:7px}.vote-legend strong{font-size:11px}.vote-legend b{margin:0;font-size:12px}.vote-legend em{padding:0}.trait-strip{gap:6px}.trait-strip strong{margin:0;font-size:11px}.collective-choice{flex-wrap:wrap}.collective-caption{font-size:14px}.selection-stage{min-height:0}}@media (prefers-reduced-motion:reduce){.crowd-dot,.voter-dot,.organism-dot{transition:none;animation:none}}.catch-path{animation:.8s linear infinite catch-flow}@keyframes catch-flow{to{stroke-dashoffset:-32px}}@media (prefers-reduced-motion:reduce){.catch-path{animation:none}}@media (max-width:700px){.fishing-scene .scene-small{font-size:32px}.fishing-scene .lake-count{font-size:48px}.fishing-scene .scene-footnote{font-size:24px}}:is(.experiment-workspace:has(.collective-scene) .board-camera-tools>button,.experiment-workspace:has(.collective-scene) .board-camera-tools>output){display:none}@media (max-width:700px),(max-height:700px){.experiment-workspace:has(.collective-scene) .board-viewport{flex:0 0 calc(100dvh - var(--composer-height,64px) - var(--composer-bottom,20px) - 24px);height:calc(100dvh - var(--composer-height,64px) - var(--composer-bottom,20px) - 24px);touch-action:pan-y;scroll-padding-top:calc(var(--workspace-top,112px) + 12px);scroll-padding-bottom:calc(var(--composer-height,64px) + var(--composer-bottom,20px) + 24px);overflow:hidden auto}}@media (min-width:701px){.vote-legend[data-candidates="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.vote-legend[data-candidates="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.vote-legend[data-candidates="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:700px),(max-height:700px){.experiment-workspace:has(.collective-scene) .workspace-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3efe3f5;border-radius:10px}}
.data-display{min-width:0;max-width:100%;color:var(--text,#30362e);margin:0;font-size:14px;line-height:1.5;container-type:inline-size}.data-display .data-display-title{overflow-wrap:anywhere;margin:0 0 12px;font-size:16px;font-weight:650}.data-display .data-state{background:var(--bg,#eee9dc);border-radius:8px;gap:4px;margin:8px 0;padding:16px;display:grid}.data-display .data-state span,.data-table-note,.data-assumption{color:var(--muted,#626c60)}.data-display .data-table-note,.data-display .data-assumption{margin:8px 0;font-size:13px}.data-table-scroll,.data-plot-scroll{scrollbar-width:thin;scrollbar-color:var(--border,#d5cdbb) transparent;border-radius:4px;max-width:100%;overflow:auto}.data-table-scroll{border:1px solid var(--border,#d5cdbb);max-height:300px}.data-display .data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.data-display .data-table :is(th,td){border:0;border-bottom:1px solid var(--border,#d5cdbb);text-align:left;overflow-wrap:anywhere;vertical-align:top;min-width:100px;max-width:360px;padding:10px 12px}.data-display .data-table th{z-index:1;background:var(--panel,#fffbef);font-weight:650;position:sticky;top:0}.data-display .data-table th small{font-size:inherit;font-weight:400}.data-display .data-table tbody tr:last-child td{border-bottom:0}.data-display .data-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--bg,#eee9dc) 45%, transparent)}.data-display .data-table .data-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-display .data-cell-state{color:var(--muted,#626c60);font-style:italic}.data-display .data-axis-label{overflow-wrap:anywhere;margin-bottom:4px;font-size:13px;font-weight:600}.data-display .data-plot{width:100%;max-height:none;display:block}.data-display .data-plot text{fill:var(--text,#30362e);font-variant-numeric:tabular-nums;font:13px sans-serif}.data-grid-line{stroke:var(--border,#d5cdbb);stroke-width:1px;fill:none}.data-axis{stroke:var(--muted,#626c60);stroke-width:1px;fill:none}.data-series{stroke:currentColor;color:var(--accent,#285e56)}.data-series--1,.data-series--4{color:#8b4c32}.data-series--2,.data-series--5{color:#595381}.data-series--3{color:#526933}.data-bar-observed{fill:var(--accent,#285e56);stroke:var(--accent,#285e56);stroke-width:1px}.data-bar-expected{fill:var(--panel,#fffbef);stroke:#8b4c32;stroke-width:2px}.data-display .data-series-legend{flex-wrap:wrap;gap:8px 20px;margin:12px 0;padding:0;font-size:13px;list-style:none;display:flex}.data-series-legend li{align-items:center;gap:8px;min-width:0;display:flex}.data-series-legend svg{flex:0 0 36px}.data-display .data-equivalent{border-top:1px solid var(--border,#d5cdbb);margin-top:12px}.data-display .data-equivalent summary{cursor:pointer;box-sizing:border-box;min-height:44px;color:var(--accent,#285e56);padding:12px 4px;font-weight:600}.data-display :is(summary,.data-table-scroll,.data-plot-scroll):focus-visible{outline:2px solid var(--accent,#285e56);outline-offset:-2px}.data-heatmap-scroll{max-height:400px}.data-scale{font-variant-numeric:tabular-nums;align-items:center;gap:12px;margin:12px 0 4px;font-size:13px;display:flex}.data-scale-gradient{border:1px solid var(--border,#d5cdbb);background:linear-gradient(90deg,#efe9dc,#285e56);border-radius:3px;flex:1;height:12px}.data-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@container (max-width:400px){.data-display .data-table :is(th,td){padding:8px}.data-display .data-series-legend{gap:6px 12px}}.data-display .data-scroll-hint{color:var(--muted,#626c60);margin:4px 0 8px;font-size:13px;display:none}@container (max-width:559px){.data-display .data-scroll-hint{display:block}}.data-display .data-plot{max-width:760px;margin-inline:auto}.data-settings{min-width:0}.data-settings>details{border-top:1px solid var(--border,#d5cdbb);padding-top:4px}.data-settings summary{cursor:pointer;min-height:44px;color:var(--accent,#285e56);align-content:center;font-weight:600;display:list-item}.data-settings-help{color:var(--muted,#626c60);font-size:13px;line-height:1.5}.data-settings-columns{gap:12px;display:grid}.data-settings .catalog-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-form.data-settings .recipe-action{min-height:44px}.catalog-form.data-settings .recipe-action--quiet{color:var(--muted,#626c60);background:0 0;border-color:#0000}.data-settings :is(input,select,button,summary):focus-visible{outline:2px solid var(--accent,#285e56);outline-offset:2px}.catalog-form.data-settings .recipe-action--primary:is(:hover,:focus-visible){background:var(--accent,#285e56);color:#fffdf7;border-color:var(--accent,#285e56)}
.pendulum-scene{grid-template-rows:minmax(0,1fr) auto;align-content:start;gap:8px;height:100%;margin:0;display:grid}.pendulum-scene>svg{width:100%;height:100%;min-height:0;display:block}.pendulum-reference{stroke:#a8aa99;stroke-dasharray:4 6}.pendulum-swing-path{fill:none;stroke:#72998b;stroke-dasharray:5 6;stroke-width:2px}.pendulum-mount{stroke:#30362e;stroke-width:6px}.pendulum-rod{stroke:#30362e;stroke-width:3px}.pendulum-bob{fill:#285e56}.pendulum-ruler{stroke:#8b9384;stroke-width:1px}.pendulum-ruler text{stroke:none;fill:#626c60;font-size:16px}.pendulum-length{fill:#30362e;font-size:20px;font-weight:500}.pendulum-scene figcaption{color:var(--muted,#626c60);gap:8px;font-size:13px;line-height:1.5;display:grid}.pendulum-view-controls{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.pendulum-view-controls legend{float:left;align-self:center;margin-right:8px}.pendulum-view-controls button{border:1px solid var(--border,#d5cdbb);background:var(--panel,#fffbef);min-height:44px;color:var(--accent,#285e56);font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px}.pendulum-view-controls button:disabled{opacity:.45;cursor:default}.pendulum-view-controls button:focus-visible{outline:3px solid var(--accent,#285e56);outline-offset:3px}
.lever-scene{width:100%;height:100%;color:var(--text);flex-direction:column;margin:0;display:flex}.lever-scene h2{text-align:center;margin:0;padding:0 12px 8px;font-size:20px;font-weight:600;line-height:1.35}.lever-scene svg{flex:1;width:100%;min-height:0;display:block}.lever-scene text{fill:currentColor;font-variant-numeric:tabular-nums;font-family:inherit;font-size:20px}.lever-scene .lever-scene__force{font-size:32px;font-weight:600}.lever-scene .lever-scene__weight{fill:#996018}.lever-scene .lever-scene__push{fill:var(--accent)}.lever-scene .lever-scene__label{font-size:20px;font-weight:500}.lever-scene .lever-scene__unit,.lever-scene .lever-scene__travel{font-size:17px}.lever-scene__reference{stroke:var(--border);stroke-width:2px;stroke-dasharray:5 5}.lever-scene figcaption{text-align:center;padding:8px 12px 0;font-size:16px;line-height:1.4}
.mechanics-scene{width:100%;height:100%;min-height:0;color:var(--text);flex-direction:column;margin:0;display:flex}.mechanics-scene svg{flex:1;width:100%;min-height:0;display:block}.mechanics-scene text{fill:currentColor;font-family:inherit;font-size:22px}.mechanics-scene figcaption{padding:8px 12px;font-size:16px;line-height:1.4}:is(.recipe-scene-content:has(>.mechanics-scene),.recipe-scene-content:has(>.lever-scene)){grid-template-rows:minmax(0,1fr);gap:0;height:100%;min-height:0}.pulley-scene{width:100%;color:var(--text);margin:0}.pulley-question{margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.3}.pulley-scene>svg{width:100%;height:320px;display:block}.experiment-workspace .pulley-scene>svg{height:clamp(280px,100dvh - 260px,460px)}.experiment-workspace:has(.pulley-scene) .board-camera-tools{left:auto;right:16px}.pulley-scene svg text{fill:currentColor;font:20px var(--font-sans,sans-serif)}.pulley-scene .pulley-force-label{fill:var(--accent);font-weight:600}.pulley-start-position{fill:none;stroke:#b78242;stroke-width:2px;stroke-dasharray:5 5;opacity:.55}.pulley-rise-marker{fill:none;stroke:var(--accent);stroke-width:2px}.recipe-lesson .board-item .pulley-scene>figcaption{color:var(--text-dim,#626c60);text-align:left;margin:12px 0 0;padding:0;font-size:15px;line-height:1.5}@media (max-width:700px){.pulley-scene>svg,.experiment-workspace .pulley-scene>svg{height:240px}}
.thermal-optics-scene{width:100%;color:var(--text);margin:0}.thermal-optics-scene svg{width:100%;max-height:380px;display:block}.thermal-optics-scene text{font:17px var(--font-sans), sans-serif;fill:currentColor}.thermal-optics-scene figcaption{text-align:center;padding:8px 16px;font-size:16px;line-height:1.5}
.bridge-demo{border:1px solid var(--border);background:linear-gradient(#fffcf3,#eee9dc);border-radius:12px;flex-direction:column;height:100%;min-height:0;margin:16px;padding:12px;display:flex;position:relative;overflow:hidden}.bridge-demo__inspector{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;min-width:180px;padding:12px 14px;font-size:12px;display:flex;position:absolute;top:20px;right:20px}.bridge-demo__inspector b{font-size:13px}.bridge-demo__inspector span{color:var(--text-dim)}.bridge-demo__disclaimer{opacity:.7;margin-top:4px;font-size:10px}.bridge-controls{background:var(--panel);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;align-items:center;gap:18px;margin:0 16px 12px;padding:12px 16px;font-size:12px;display:flex}.bridge-controls label{align-items:center;gap:8px;display:flex}.bridge-controls label span{color:var(--text)}.bridge-controls button{border:1px solid var(--border);border-radius:6px;padding:6px 12px}.bridge-controls button:hover{border-color:var(--accent)}.bridge-controls__note{opacity:.7;margin-left:auto;font-size:11px}
.math-analysis-scene{color:#183044;width:100%}.math-analysis-scene svg{width:100%;height:auto;display:block;overflow:hidden}.math-analysis-scene text{fill:currentColor;font:16px system-ui,sans-serif}.math-analysis-scene p{margin:12px 0 0;font:17px/1.5 system-ui,sans-serif}.ma-axis{fill:none;stroke:#637787;stroke-width:2px}.ma-dot,.ma-water{fill:#2375ab}.ma-red{fill:#bc5a35}.ma-excluded{fill:#bec8cf}.ma-mean{fill:none;stroke:#2375ab;stroke-width:3px}.ma-median{fill:none;stroke:#bc5a35;stroke-width:3px;stroke-dasharray:8 5}.ma-curve{fill:none;stroke:#566874;stroke-width:2px}.ma-region{fill:#2375ab22;stroke:#2375ab;stroke-width:1px}.ma-selected{fill:none;stroke:#132c40;stroke-width:3px}.ma-tank{fill:#f4f8fa;stroke:#637787;stroke-width:2px}.math-analysis-scene .ma-blue-text{fill:#2375ab}.math-analysis-scene .ma-orange-text{fill:#bc5a35}
.mg-scene{width:100%;color:var(--text)}.mg-scene svg{width:100%;height:auto;min-height:240px;display:block}.mg-scene text{fill:currentColor;font:15px var(--font-sans,sans-serif)}.mg-scene .mg-small{font-size:13px}.mg-scene .mg-large{font-size:26px;font-weight:600}.mg-scene .mg-strong{font-weight:600}.mg-caption{margin:8px 4px 0;font-size:16px;line-height:1.45}.mg-line{fill:none;stroke:var(--text);stroke-width:2px}.mg-thin{fill:none;stroke:var(--text);stroke-width:1px;opacity:.35}.mg-grid{stroke:var(--text);stroke-width:1px;opacity:.12}.mg-dashed{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-dasharray:6 5}.mg-accent{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.mg-fill-accent{fill:var(--accent)}.mg-fill-green{fill:#d9e9de;stroke:var(--text);stroke-width:1.5px}.mg-fill-orange{fill:#f0d8ba;stroke:var(--text);stroke-width:1.5px}.mg-fill-teal{fill:#c7dddd;stroke:var(--text);stroke-width:1.5px}.mg-fill-faint{fill:var(--text);fill-opacity:.06;stroke:var(--text);stroke-opacity:.35;stroke-width:1.5px;stroke-dasharray:5 4}.mg-fill-problem{fill:#f3c9c0;stroke:#a33a26;stroke-width:2.5px}.mg-problem,.mg-scene text.mg-problem{fill:#a33a26}.mg-hatch{fill:none;stroke:var(--text);stroke-width:6px;stroke-opacity:.45}
.pythagorean-scene{width:100%;color:var(--text);grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}.pythagorean-scene svg{width:100%;height:auto;display:block}.pythagorean-scene text{fill:currentColor;font:16px var(--font-sans,sans-serif)}.pythagorean-calculation{gap:20px;padding:16px 0;font-size:16px;line-height:1.5;display:grid}.pythagorean-calculation h3,.pythagorean-calculation p{margin:0}.pythagorean-calculation h3{font-size:16px;font-weight:600}.pythagorean-calculation .pythagorean-equation{margin-top:8px;font-family:Georgia,serif;font-size:24px}.pythagorean-root{align-items:baseline;display:inline-flex}.pythagorean-root>span:first-child{font-size:1.25em}.pythagorean-radicand{border-top:1px solid;padding:0 4px}.pythagorean-worked{color:var(--accent)}.pythagorean-worked .pythagorean-equation{font-size:28px}@media (min-width:700px){.is-workspace:has(.pythagorean-scene) .is-floating .board-camera-tools{height:max-content;top:80px;bottom:auto}}@media (max-width:600px){.pythagorean-scene{grid-template-columns:1fr;gap:8px}.pythagorean-scene svg{max-height:260px}}.pythagorean-wall,.pythagorean-angle{fill:none;stroke:var(--text);stroke-width:3px}.pythagorean-angle{stroke-width:1.5px}.pythagorean-ladder{stroke:var(--accent);stroke-width:8px;stroke-linecap:round}.pythagorean-foot{fill:var(--accent)}
