/* One lab surface, using the site's existing type, signal, digital mark and buttons.
   Containment is reserved for the command input and the native source-review dialog. */
body[data-studio-home] #site-agent {
  --lab-signal:var(--scene-accent,var(--green));
  --lab-ease:cubic-bezier(.2,.76,.24,1);
}
:root[data-theme-mode="light"] body[data-studio-home] #site-agent {
  --lab-signal:color-mix(in srgb,var(--scene-accent,var(--green)),#000 58%);
}
.studio-playhub-hint {max-width:58ch;color:var(--muted);line-height:1.75;margin:24px 0 32px;}
.studio-playhub {border-block:1px solid var(--line);padding-block:32px;}
.site-agent-activity > summary::-webkit-details-marker {display:none;}
body[data-studio-home] .site-agent-shell {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,88px);padding:28px 0 40px;}
.site-agent-stage,.site-agent-console {min-width:0;max-width:100%;border:0;border-radius:0;background:none;box-shadow:none;}
body[data-studio-home] #site-agent .site-agent-stage {position:sticky;top:110px;display:grid;gap:32px;align-content:start;}
.site-agent-visual {position:relative;isolation:isolate;display:grid;place-items:center;height:270px;overflow:hidden;color:var(--lab-signal);background:radial-gradient(circle,color-mix(in srgb,var(--lab-signal),transparent 72%) .7px,transparent 1px) 0 0/20px 20px;}
.site-agent-field-label {position:absolute;top:0;left:0;padding:0 18px 14px 0;background:var(--bg);color:var(--muted);font:500 .61rem/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;}
.site-agent-mark {position:relative;display:grid;place-items:center;width:72%;height:55%;color:var(--fg);font:600 clamp(2.4rem,5.2vw,5rem)/1 var(--font-mono);letter-spacing:-.06em;background:var(--bg);}
.site-agent-mark::before,.site-agent-mark::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(currentColor,currentColor) left top/24px 1px no-repeat,linear-gradient(currentColor,currentColor) left top/1px 24px no-repeat,linear-gradient(currentColor,currentColor) right bottom/24px 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1px 24px no-repeat;color:var(--lab-signal);}
.site-agent-mark::after {transform:rotate(180deg);opacity:.35;}
.site-agent-trace {position:absolute;inset:0 auto 0 0;width:1px;background:var(--lab-signal);opacity:0;pointer-events:none;}
.site-agent-overlay {position:relative;inset:auto;display:grid;gap:16px;max-width:100%;pointer-events:auto;}
.site-agent-overlay [data-site-agent-mode] {display:flex;align-items:center;gap:12px;min-height:1.6em;color:var(--lab-signal);font:600 .64rem/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;}
.site-agent-overlay [data-site-agent-mode]::before {content:"";width:6px;height:6px;background:currentColor;flex:none;}
body[data-studio-home] .site-agent-overlay strong {display:block;max-width:22ch;margin:0;font-size:clamp(1.7rem,3.1vw,2.8rem);font-weight:650;line-height:1.12;letter-spacing:-.045em;white-space:pre-line;text-wrap:balance;overflow-wrap:anywhere;}
.site-agent-overlay p {margin:0;max-width:48ch;min-height:5em;color:var(--muted);font-size:1rem;line-height:1.7;}
.site-agent-console {display:grid;gap:20px;align-content:start;}
.site-agent-console form,.site-agent-console label {display:grid;gap:12px;}
.site-agent-console label > span,.site-agent-command-label {margin:0;color:var(--lab-signal);font:600 .64rem/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;}
.site-agent-console textarea {box-sizing:border-box;width:100%;max-width:100%;min-height:136px;resize:vertical;border:1px solid var(--line-strong,var(--line));border-radius:0;padding:18px;background:color-mix(in srgb,var(--fg),transparent 98%);color:var(--fg);font:400 1rem/1.6 var(--font-body,Inter,sans-serif);}
.site-agent-console textarea::placeholder {color:var(--muted);opacity:1;}
.site-agent-console textarea:focus {outline:1px solid var(--lab-signal);outline-offset:4px;border-color:var(--lab-signal);}
.site-agent-input-meta {display:flex;justify-content:space-between;align-items:start;gap:18px;color:var(--muted);font:400 .61rem/1.6 var(--font-mono);}
.site-agent-input-meta > :first-child {max-width:40ch;}
.site-agent-input-meta [data-site-agent-count] {flex:none;font-variant-numeric:tabular-nums;}
.site-agent-form-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;margin-top:6px;}
.site-agent-form-actions .public-text-link {font-size:.78rem;}
.site-agent-request-notice {margin:0;padding-bottom:22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.7;}
.site-agent-presets {display:grid;grid-template-columns:1fr;gap:0;counter-reset:lab-command;}
body.public-page[data-studio-home] #site-agent .site-agent-command {position:relative;isolation:isolate;counter-increment:lab-command;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:14px;width:100%;min-height:48px;margin:0;padding:13px 24px 13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--fg);font:500 .88rem/1.45 var(--font-body,Inter,sans-serif);text-align:left;white-space:normal;cursor:pointer;clip-path:none;box-shadow:none;transform:none;}
body.public-page[data-studio-home] #site-agent .site-agent-command::before {content:counter(lab-command,decimal-leading-zero);position:static;top:auto;display:block;color:var(--lab-signal);font:500 .6rem/1.6 var(--font-mono);letter-spacing:0;opacity:.7;transform:none;background:none;}
body.public-page[data-studio-home] #site-agent .site-agent-command::after {content:"";position:absolute;inset:auto 0 -1px;width:auto;height:1px;border:0;opacity:1;background:var(--lab-signal);transform:scaleX(0);transform-origin:left;pointer-events:none;}
body.public-page[data-studio-home] #site-agent .site-agent-command:is(:hover,:focus-visible) {color:var(--lab-signal);text-decoration:none;}
body.public-page[data-studio-home] #site-agent .site-agent-command:is(:hover,:focus-visible)::after {transform:scaleX(1);}
body.public-page[data-studio-home] #site-agent .site-agent-command:focus-visible {outline:1px solid var(--lab-signal);outline-offset:4px;}
body.public-page[data-studio-home] #site-agent .site-agent-company-fit-trigger {margin-top:14px;font-weight:650;}
.site-agent-activity {border-bottom:1px solid var(--line);min-width:0;}
.site-agent-activity > summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer;list-style:none;color:var(--muted);font:500 .67rem/1.6 var(--font-mono);}
.site-agent-activity > summary:is(:hover,:focus-visible) {color:var(--lab-signal);}
body[data-studio-home] .site-agent-log {display:grid;gap:10px;max-height:240px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--lab-signal) transparent;margin:0;padding:6px 16px 20px 25px;color:var(--muted);font:400 .69rem/1.65 var(--font-mono);overflow-wrap:anywhere;}
.site-agent.is-busy .site-agent-console :is(button,textarea):disabled {opacity:.5;cursor:wait;}
.site-agent-load-ticker {display:none;}
/* This is indeterminate activity, never a completion percentage. The status text
   describes the actual provider/mutation state; idle remains still. */
.site-agent[data-site-agent-state="complete"] .site-agent-mark::after,
.site-agent[data-site-agent-state="restored"] .site-agent-mark::after {opacity:1;}
.site-agent[data-site-agent-state="error"] .site-agent-overlay [data-site-agent-mode]::before {background:none;border:1px solid currentColor;}
.site-agent-run-controls {position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:2147482600;max-width:calc(100vw - 32px);transform:translateX(-50%);display:grid;justify-items:center;gap:8px;}
.site-agent-run-controls > :is(.site-agent-stop,.site-agent-skip) {position:relative;inset:auto;transform:none;max-width:100%;margin:0;}
/* Override the legacy standalone Stop positioning in the shared button layer. */
body.public-page[data-page-type] .site-agent-run-controls > .site-agent-stop {transform:none!important;}
.site-agent-run-controls[hidden],.site-agent-skip[hidden] {display:none!important;}
.site-agent-motion-skipped :is(.site-agent-runner,.site-agent-beam,.site-agent-lock-ring) {display:none!important;}
.site-agent-motion-skipped .site-agent-trace {animation:none!important;opacity:0;}
.site-agent-motion-skipped .site-agent-vanished {transition:none!important;}
.site-agent-stop[hidden] {display:none!important;}
/* One native contained review, with shared buttons and real source provenance. */
dialog.site-agent-company-modal {--lab-signal:var(--public-scene-accent,var(--green));position:fixed;inset:0;z-index:2147482500;display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:color-mix(in srgb,var(--bg),transparent 5%);color:var(--fg);backdrop-filter:none;}
:root[data-theme-mode="light"] dialog.site-agent-company-modal {--lab-signal:color-mix(in srgb,var(--public-scene-accent,var(--green)),#000 58%);}
dialog.site-agent-company-modal[hidden] {display:none;}
dialog.site-agent-company-modal::backdrop {background:transparent;}
.site-agent-company-dialog {position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;width:min(880px,100%);max-height:calc(100svh - 48px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:clamp(24px,4vw,56px);border:1px solid var(--line);border-top-color:var(--lab-signal);border-radius:0;background:var(--bg);box-shadow:none;}
.site-agent-company-close {position:absolute;top:18px;right:18px;width:44px;height:44px;z-index:2;}
.site-agent-company-hero {display:grid;gap:14px;padding-right:30px;}
.site-agent-company-hero > span,.site-agent-company-input > b {color:var(--lab-signal);font:600 .63rem/1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;}
.site-agent-company-hero h3 {margin:0;max-width:18ch;font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:1.08;letter-spacing:-.045em;}
.site-agent-company-hero p,.site-agent-company-dialog > p {max-width:62ch;margin:0;color:var(--muted);font-size:.92rem;line-height:1.7;}
.site-agent-company-workflow {padding:0;background:none;border:0;}
.site-agent-company-workflow ol {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;}
.site-agent-company-workflow li {position:relative;display:grid;gap:8px;padding:12px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;color:var(--muted);font:500 .65rem/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;}
.site-agent-company-workflow li b {color:var(--lab-signal);font-size:.6rem;}
.site-agent-company-workflow li:is(.is-active,.is-done) {border-top-color:var(--lab-signal);color:var(--fg);}
.site-agent-company-input {display:grid;gap:12px;min-width:0;}
.site-agent-company-input input {box-sizing:border-box;width:100%;min-height:58px;border:1px solid var(--line-strong,var(--line));border-radius:0;padding:14px 18px;background:transparent;color:var(--fg);font:500 1rem/1.6 var(--font-body,Inter,sans-serif);}
.site-agent-company-input input:focus {outline:1px solid var(--lab-signal);outline-offset:4px;border-color:var(--lab-signal);}
.site-agent-company-review {display:grid;gap:18px;min-width:0;padding:24px 0;border-block:1px solid var(--line);}
.site-agent-company-review p {margin:0;max-width:66ch;font-size:.9rem;line-height:1.7;color:var(--muted);}
.site-agent-company-sources {display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.site-agent-company-sources a {display:inline-block;max-width:100%;color:var(--fg);font-size:.85rem;line-height:1.6;text-underline-offset:.25em;overflow-wrap:anywhere;}
.site-agent-company-sources a:is(:hover,:focus-visible) {color:var(--lab-signal);}
.site-agent-company-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:4px;}
.site-agent-company-modal :is(.site-agent-company-review,[data-site-agent-company-apply])[hidden] {display:none!important;}
/* Target annotations are the same open registration strokes used on actions.
   Keep actual reading text and containers still while the agent works. */
body[data-studio-home] .site-agent-runner {position:fixed;left:0;top:0;z-index:2147481000;width:var(--agent-size);height:var(--agent-size);pointer-events:none;opacity:0;transform:translate3d(calc(var(--agent-x,50vw) - var(--agent-half)),calc(var(--agent-y,50vh) - var(--agent-half)),0) scale(.85);transition:transform var(--agent-travel-ms,220ms) cubic-bezier(.2,.76,.24,1),opacity 160ms ease;}
body[data-studio-home] .site-agent-runner.is-visible {opacity:1;transform:translate3d(calc(var(--agent-x,50vw) - var(--agent-half)),calc(var(--agent-y,50vh) - var(--agent-half)),0);}
body[data-studio-home] .site-agent-runner::before,body[data-studio-home] .site-agent-runner-core {content:"";position:absolute;inset:0;}
body[data-studio-home] .site-agent-runner-label {position:absolute;left:calc(100% + 10px);top:50%;color:var(--fg);font:500 .62rem/1.5 var(--font-mono);text-transform:uppercase;transform:translateY(-50%);}
body[data-studio-home] .site-agent-beam {position:fixed;left:0;top:0;z-index:2147480999;width:var(--beam-length,0);pointer-events:none;opacity:0;transform:translate3d(var(--beam-x,0),var(--beam-y,0),0) rotate(var(--beam-angle,0deg));transform-origin:0 50%;transition:opacity 160ms ease,width var(--agent-travel-ms,220ms) cubic-bezier(.2,.76,.24,1),transform var(--agent-travel-ms,220ms) cubic-bezier(.2,.76,.24,1);}
body[data-studio-home] .site-agent-beam.is-visible {opacity:.45;}
body[data-studio-home] .site-agent-lock-ring {position:absolute;left:var(--lock-x);top:var(--lock-y);width:var(--lock-w);height:var(--lock-h);z-index:2147480998;pointer-events:none;}
body[data-studio-home] .site-agent-lock-ring::before,body[data-studio-home] .site-agent-lock-ring::after {content:"";position:absolute;pointer-events:none;}
body[data-studio-home] .site-agent-lock-ring span {position:absolute;left:0;top:-18px;max-width:min(240px,calc(var(--lock-w) - 16px));box-sizing:border-box;font:500 .58rem/1.5 var(--font-mono);text-transform:uppercase;white-space:normal;}
body[data-studio-home] .site-agent-streaming::after {content:"";display:inline-block;width:1px;height:.85em;margin-left:.15em;background:var(--public-scene-accent,var(--green));vertical-align:baseline;}
body[data-studio-home] :is(.site-agent-runner,.site-agent-lock-ring,.site-agent-beam) {--lab-signal:var(--public-scene-accent,var(--green));}
body[data-studio-home] .site-agent-runner {--agent-size:32px;--agent-half:16px;border-radius:0;filter:none;}
body[data-studio-home] .site-agent-runner::before {background:linear-gradient(currentColor,currentColor) left top/10px 1px no-repeat,linear-gradient(currentColor,currentColor) left top/1px 10px no-repeat,linear-gradient(currentColor,currentColor) right bottom/10px 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1px 10px no-repeat;color:var(--lab-signal);box-shadow:none;animation:none;}
body[data-studio-home] .site-agent-runner::after {display:none;}
body[data-studio-home] .site-agent-runner-core {inset:13px;border-radius:0;background:var(--lab-signal);box-shadow:none;}
body[data-studio-home] .site-agent-runner[data-label-side="left"] .site-agent-runner-label {left:auto;right:calc(100% + 10px);}
body[data-studio-home] .site-agent-runner-label {width:max-content;max-width:min(240px,42vw,var(--agent-label-max,240px));padding:7px 9px;border:0;border-left:1px solid var(--lab-signal);border-radius:0;background:var(--bg);box-shadow:none;backdrop-filter:none;white-space:normal;line-height:1.5;letter-spacing:.04em;}
body[data-studio-home] .site-agent-beam {height:1px;background:var(--lab-signal);border-radius:0;filter:none;}
body[data-studio-home] .site-agent-lock-ring {border:0;border-radius:0;box-shadow:none;animation:none;}
body[data-studio-home] .site-agent-lock-ring::before {inset:-6px;padding:0;mask:none;background:linear-gradient(currentColor,currentColor) left top/16px 1px no-repeat,linear-gradient(currentColor,currentColor) left top/1px 16px no-repeat,linear-gradient(currentColor,currentColor) right bottom/16px 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1px 16px no-repeat;color:var(--lab-signal);}
body[data-studio-home] .site-agent-lock-ring::after {inset:0;padding:0;border:0;border-radius:0;mask:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lab-signal),transparent 94%),transparent);animation:none;}
body[data-studio-home] .site-agent-lock-ring span {border-radius:0;background:var(--bg);color:var(--lab-signal);padding:5px 8px;font-weight:500;letter-spacing:.04em;}
body[data-studio-home] :is(.site-agent-grabbed,.site-agent-writing,.site-agent-targeting,.site-agent-dom-locked) {outline:0;animation:none;transform:none;filter:none;}
body[data-studio-home] .site-agent-highlight {animation:none;}
body[data-studio-home] .site-agent-final-flash::before {display:none;}
@media(prefers-reduced-motion:no-preference) {
  .site-agent-activity > summary {transition:color 200ms ease;}
  body.public-page[data-studio-home] #site-agent .site-agent-command::after {transition:transform 500ms var(--lab-ease);}
  .site-agent-mark::after {transition:opacity 300ms ease;}
  .site-agent:is([data-site-agent-state="thinking"],[data-site-agent-state="scanning"],[data-site-agent-state="executing"]) .site-agent-trace {opacity:.5;animation:lab-field-pass 2400ms cubic-bezier(.4,0,.2,1) infinite;}
  .site-agent[data-site-agent-state="complete"] .site-agent-mark::before,.site-agent[data-site-agent-state="restored"] .site-agent-mark::before {animation:lab-mark-settle 600ms var(--lab-ease) both;}
  body[data-studio-home] .site-agent-lock-ring::before {animation:lab-mark-settle 300ms cubic-bezier(.2,.76,.24,1) both;}
  .site-agent-company-modal.is-open .site-agent-company-dialog {animation:lab-review-enter 360ms cubic-bezier(.2,.76,.24,1) both;}
  .site-agent-company-modal.is-loading .site-agent-company-workflow li.is-active::after {content:"";position:absolute;inset:-1px auto auto 0;width:28%;height:1px;background:var(--lab-signal);animation:lab-source-pass 1800ms ease-in-out infinite;}
}
@keyframes lab-field-pass {0%,12% {transform:translateX(0);opacity:0;}25% {opacity:.5;}85% {opacity:.5;}100% {transform:translateX(600px);opacity:0;}}
@keyframes lab-mark-settle {from {opacity:.25;transform:translateY(5px);}to {opacity:1;transform:none;}}
@keyframes lab-review-enter {from {opacity:0;transform:translateY(12px);}to {opacity:1;transform:none;}}
@keyframes lab-source-pass {0%,10% {transform:translateX(0);opacity:0;}30%,75% {opacity:1;}100% {transform:translateX(250%);opacity:0;}}
@media(max-width:900px) {
  body[data-studio-home] .site-agent-shell {grid-template-columns:minmax(0,1fr);gap:32px;}
  body[data-studio-home] #site-agent .site-agent-stage {position:relative;top:auto;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;gap:28px;}
  .site-agent-visual {height:240px;}
  .site-agent-field-label {max-width:15ch;}
  .site-agent-overlay p {min-height:0;}
  .site-agent-console {padding-top:28px;border-top:1px solid var(--line);}
}
@media(max-width:540px) {
  body[data-studio-home] #site-agent .site-agent-stage {grid-template-columns:1fr;gap:24px;}
  .site-agent-visual {height:96px;}
  .site-agent-mark {width:52%;height:62%;font-size:1.8rem;}
  .site-agent-field-label {font-size:.6rem;max-width:none;}
  .site-agent-input-meta {font-size:.69rem;}
  .site-agent-input-meta > :first-child {max-width:32ch;}
  .site-agent-form-actions {align-items:flex-start;}
  .site-agent-form-actions > .public-text-link {min-height:44px;display:inline-flex;align-items:center;}
  dialog.site-agent-company-modal {padding:12px;}
  .site-agent-company-dialog {max-height:calc(100svh - 24px);padding:24px 20px;gap:24px;}
  .site-agent-company-hero {padding-right:24px;}
  .site-agent-company-hero > span {max-width:26ch;}
  .site-agent-company-close {top:10px;right:10px;}
  .site-agent-company-workflow ol {gap:12px;}
  .site-agent-company-workflow li {font-size:.57rem;}
  .site-agent-company-actions {justify-content:flex-start;}
}
@media(prefers-reduced-motion:reduce) {
  #site-agent *,#site-agent *::before,#site-agent *::after,
  .site-agent-company-modal *,.site-agent-company-modal *::after,
  body[data-studio-home] :is(.site-agent-runner,.site-agent-beam,.site-agent-lock-ring),body[data-studio-home] :is(.site-agent-runner,.site-agent-beam,.site-agent-lock-ring)::before,body[data-studio-home] :is(.site-agent-runner,.site-agent-beam,.site-agent-lock-ring)::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .site-agent-trace {display:none;}
}
@media print {
  .site-agent-visual,.site-agent-run-controls,.site-agent-stop,.site-agent-company-modal,.site-agent-console {display:none!important;}
  .site-agent-stage {position:static;top:auto;display:block;}
}
