.code-exec-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface-1);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-sm),var(--card-sheen, none);overflow:hidden}.code-exec-panel--rail{position:relative;align-items:center;justify-content:center;gap:10px;padding:14px 0;border:1px solid var(--card-border);cursor:pointer;color:var(--muted-text);font:inherit;transition:background .14s,border-color .14s,color .14s}.code-exec-panel--rail:hover{background:var(--surface-2);border-color:var(--button-hover-border);color:var(--app-text)}.code-exec-rail-words{display:flex;flex-direction:column;align-items:center;gap:9px}.code-exec-rail-label{writing-mode:vertical-rl;text-orientation:upright;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;line-height:1}.code-exec-rail-chevron{position:absolute;bottom:14px;left:0;right:0;font-size:16px;line-height:1;opacity:.55}.code-exec-panel--rail.is-live{border-color:var(--signal, #4f46e5);color:var(--app-text)}.code-exec-rail-pulse{width:8px;height:8px;border-radius:50%;background:var(--signal, #4f46e5);flex-shrink:0;animation:code-exec-rail-pulse 1.6s ease-in-out infinite}@keyframes code-exec-rail-pulse{0%,to{opacity:1;box-shadow:0 0 #4f46e573}50%{opacity:.55;box-shadow:0 0 0 6px #4f46e500}}@media(prefers-reduced-motion:reduce){.code-exec-rail-pulse{animation:none}}@media(max-width:900px){.code-exec-panel--rail{flex-direction:row;padding:12px 16px}.code-exec-rail-words{flex-direction:row;gap:6px}.code-exec-rail-label{writing-mode:horizontal-tb;text-orientation:mixed}.code-exec-rail-chevron{position:static;transform:rotate(-90deg)}}.code-exec-header-right{display:inline-flex;align-items:center;gap:10px}.code-exec-collapse{background:none;border:none;color:var(--muted-text);font-size:16px;line-height:1;padding:2px 6px;border-radius:6px;cursor:pointer}.code-exec-collapse:hover{background:var(--button-hover-bg);color:var(--app-text)}.code-exec-status--idle{color:var(--muted-text)}.code-exec-header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--card-border);border-radius:12px 12px 0 0;flex-shrink:0}.code-exec-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--app-text-soft)}.code-exec-live{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.1em;font-weight:800;text-transform:uppercase;color:var(--brand)}.code-exec-live-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:code-exec-pulse 1.4s ease-in-out infinite}@keyframes code-exec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.code-exec-status{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--app-text-soft);font-size:14px;text-align:center}.code-exec-feed{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:10px 0;background:var(--surface-2);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.6}.code-exec-feed::-webkit-scrollbar{width:0;height:0}.code-exec-line{padding:1px 14px;color:var(--app-text-soft);white-space:pre-wrap;word-break:break-word;border-left:2px solid transparent}.code-exec-line--muted{color:var(--muted-text);font-style:italic}.code-exec-line--highlight{color:var(--ansi-yellow);background:#f59e0b1a;border-left:2px solid var(--ansi-yellow);padding-left:12px}.code-exec-line--current{color:var(--app-text);background:var(--tab-active-bg);border-left:2px solid var(--brand);padding-left:12px;animation:code-exec-current-glow 1.2s ease-in-out infinite}@keyframes code-exec-current-glow{0%,to{filter:brightness(1)}50%{filter:brightness(.94)}}.test-outline{margin-bottom:20px;border:1px solid var(--card-border);border-radius:8px;background:var(--card-bg);box-shadow:var(--shadow-sm)}.to-head{display:flex;align-items:center;gap:10px;padding:0 12px 0 0;font-size:13px}.test-outline.is-open .to-head{border-bottom:1px solid var(--panel-divider)}.to-head-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:10px 12px;background:none;border:0;color:var(--app-text);font-size:13px;text-align:left;cursor:pointer}.to-head-toggle:hover{background:var(--subtle-surface)}.to-head-toggle strong{font-weight:600}.to-count{color:var(--muted-text);font-size:12px}.to-link{background:none;border:0;padding:0;color:var(--signal);font-size:12px;cursor:pointer}.to-link:disabled{color:var(--hint-text);cursor:default}.to-link:not(:disabled):hover{text-decoration:underline}.to-item+.to-item{border-top:1px solid var(--panel-divider)}.to-row{display:flex;align-items:center}.to-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 12px;background:none;border:0;color:var(--app-text);font-size:13px;text-align:left;cursor:pointer}.to-toggle:hover{background:var(--subtle-surface)}.to-chevron{color:var(--muted-text);font-size:11px;transition:transform .12s;flex-shrink:0}.to-item.is-open>.to-row .to-chevron,.test-outline.is-open>.to-head .to-chevron{transform:rotate(90deg)}.to-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;overscroll-behavior:contain}.to-title{min-width:0;overflow-wrap:anywhere;font-weight:600}.to-chip{flex-shrink:0;padding:1px 8px;border-radius:999px;background:var(--signal-wash);color:var(--signal);font-size:11px}.to-remove{background:none;border:0;padding:6px 12px;color:var(--hint-text);font-size:18px;line-height:1;cursor:pointer}.to-remove:hover{color:var(--bad)}.to-panel{padding:2px 14px 14px 31px}.to-body h4{margin:12px 0 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-text)}.to-purpose,.to-note,.to-muted{margin:0;font-size:13px;line-height:1.5}.to-purpose{color:var(--app-text)}.to-note,.to-muted{color:var(--muted-text)}.to-note{margin-top:10px;font-size:12px}.to-panel>.to-muted{margin-top:4px}.to-body>.to-muted{margin-top:10px}.to-pre{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.to-steps{margin:0;padding-left:20px;font-size:13px;line-height:1.5}.to-steps li{margin-bottom:8px;padding-left:2px}.to-steps li::marker{color:var(--signal);font-weight:600}.to-action{color:var(--app-text)}.to-tag{margin-left:8px;padding:0 7px;border-radius:999px;background:var(--subtle-surface);color:var(--muted-text);font-size:11px;white-space:nowrap}.to-expected{margin-top:2px;color:var(--app-text-soft)}.to-expected span{margin-right:6px;color:var(--ok);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.to-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:12px;color:var(--hint-text);font-size:11px}.to-meta code{font-family:var(--mono);overflow-wrap:anywhere}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006,0 2px 8px #0000004d;pointer-events:auto;cursor:pointer;line-height:1.4;border:1px solid rgba(255,255,255,.08)}.toast-success{background:#10b98126;color:#6ee7b7;border-color:#10b98140}.toast-error{background:#ef44442e;color:#fca5a5;border-color:#ef44444d}.toast-info{background:#3b82f626;color:#93c5fd;border-color:#3b82f640}.toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.toast-success .toast-icon{background:#10b98140;color:#34d399}.toast-error .toast-icon{background:#ef444440;color:#f87171}.toast-info .toast-icon{background:#3b82f640;color:#60a5fa}.toast-text{flex:1;word-break:break-word}.toast-enter{animation:toast-slide-in .25s cubic-bezier(.22,1,.36,1) forwards}.toast-exit{animation:toast-slide-out .3s cubic-bezier(.55,0,1,.45) forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.9)}}
