:root,[data-theme]{--bg:var(--page-bg);--surface:var(--color-surface);--surface-2:var(--color-surface-secondary);--border:var(--color-border);--text:var(--color-text);--strong:var(--color-text-emphasis);--muted:var(--color-text-secondary);--ok:var(--color-text-success-surface);--ok-bg:var(--color-background-success-surface);--ok-line:var(--color-border-success-surface);--warn:var(--color-text-warning-surface);--warn-bg:var(--color-background-warning-surface);--warn-line:var(--color-border-warning-surface);--bad:var(--color-text-danger-surface);--bad-bg:var(--color-background-danger-surface);--bad-line:var(--color-border-danger-surface);--run:var(--color-text-info-surface);--run-bg:var(--color-background-info-surface);--run-line:var(--color-border-info-surface);--code-bg:var(--color-surface-secondary);--add-bg:var(--green-a25);--del-bg:var(--red-a25);--hunk:var(--color-text-discovery-surface);--radius:12px;--gutter:24px;--max:1240px;--ease:cubic-bezier(.2, 0, 0, 1)}html,body{height:auto;overflow:visible}body{background:var(--bg);min-height:100vh;color:var(--text);font-size:15px;line-height:1.6}a{color:var(--run);text-underline-offset:2px}button{font:inherit;color:inherit}.mono{font-family:var(--font-mono);font-size:.86em}.nowrap{white-space:nowrap}.small{font-size:12.5px}.muted{color:var(--muted)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:5;padding:14px max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter)));background:var(--bg);border-bottom:1px solid var(--color-border-primary-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.logo{background:var(--color-background-primary-solid);width:30px;height:30px;color:var(--color-surface);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.brand-name{color:var(--strong);letter-spacing:-.02em;font-size:16px;font-weight:650}.brand-tag{color:var(--muted);border-left:1px solid var(--border);padding-left:10px;font-size:14px}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{white-space:nowrap;background:var(--surface-2);height:26px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{color:var(--ok);background:var(--ok-bg);box-shadow:inset 0 0 0 1px var(--ok-line)}.badge-warn{color:var(--warn);background:var(--warn-bg);box-shadow:inset 0 0 0 1px var(--warn-line)}.badge-replay{color:var(--run);background:var(--run-bg);box-shadow:inset 0 0 0 1px var(--run-line)}.main{width:100%;max-width:var(--max);padding:40px var(--gutter) 56px;flex:1;margin:0 auto}.intro h1{letter-spacing:-.025em;max-width:820px;color:var(--strong);text-wrap:balance;margin:0 0 12px;font-size:32px;font-weight:650;line-height:1.25}.intro p{color:var(--muted);max-width:760px;margin:0 0 20px;font-size:17px;line-height:1.65}.intro .replay-note{max-width:820px;color:var(--text);background:var(--run-bg);box-shadow:inset 0 0 0 1px var(--run-line);border-radius:10px;margin:0 0 24px;padding:14px 16px;font-size:14.5px;line-height:1.6;display:block}.intro .replay-note a{color:var(--run);font-weight:600}.card{background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-100)}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:12px;font-weight:600;line-height:1}.input-card{padding:16px}.seg{background:var(--color-background-primary-soft-alpha);border-radius:10px;gap:2px;max-width:100%;margin-bottom:12px;padding:3px;display:inline-flex}.seg-item{cursor:pointer;height:32px;color:var(--muted);white-space:nowrap;transition:background-color .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:14px;font-weight:500}.seg-item:hover{color:var(--strong)}.seg-item.on{background:var(--color-surface-elevated);color:var(--strong);box-shadow:0 0 0 1px var(--border), var(--shadow-100)}.input-row{align-items:flex-start;gap:10px;display:flex}.stack{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.field{background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--strong);font:inherit;box-shadow:inset 0 0 0 1px var(--color-border-primary-outline);transition:box-shadow .15s var(--ease);border:0;border-radius:10px;flex:1;padding:10px 12px;font-size:15px}.field:hover{box-shadow:inset 0 0 0 1px var(--color-border-primary-outline-hover)}.field:focus{box-shadow:inset 0 0 0 1px var(--color-ring), 0 0 0 3px color-mix(in oklab, var(--color-ring) 25%, transparent);outline:none}select.field{text-overflow:ellipsis}textarea.field{resize:vertical;line-height:1.55}.actions{gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;background:var(--surface);height:44px;color:var(--strong);box-shadow:inset 0 0 0 1px var(--color-border-primary-outline);transition:background-color .15s var(--ease), opacity .15s var(--ease), transform .12s var(--ease);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-background-primary-soft-alpha)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-background-primary-solid);color:var(--color-surface);box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--color-background-primary-solid-hover)}.btn-ghost{background:0 0}.btn-sm{border-radius:8px;height:30px;padding:0 12px;font-size:13px;font-weight:500}.hint{color:var(--warn);background:var(--warn-bg);border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:14px}.workspace{animation:rise .32s var(--ease) both;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.timeline{padding:18px 12px 12px;position:sticky;top:76px}.timeline .card-title{padding:0 8px}.steps{margin:0;padding:0;list-style:none;position:relative}.steps li{position:relative}.steps li+li:before{content:"";background:var(--border);border-radius:1px;width:2px;height:44px;position:absolute;top:-30px;left:15px}.step{text-align:left;cursor:pointer;width:100%;transition:background-color .15s var(--ease);background:0 0;border:0;border-radius:8px;grid-template-columns:16px 1fr auto;align-items:start;gap:12px;padding:8px;display:grid}.step:hover:not(:disabled){background:var(--color-background-primary-soft-alpha)}.step:disabled{cursor:default}.step.sel{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.dot{z-index:1;background:var(--surface);width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--color-border-strong);transition:background-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);border-radius:50%;margin:5px 0 0 2px;position:relative}.st-running .dot{background:var(--run);box-shadow:0 0 0 4px var(--run-bg);animation:1.2s ease-in-out infinite pulse}.st-done .dot{background:var(--color-background-success-solid);box-shadow:none}.st-failed .dot{background:var(--color-text-danger-surface);box-shadow:none}.st-skipped .dot{background:var(--surface);box-shadow:inset 0 0 0 2px var(--color-border-strong)}.st-skipped .dot:after{content:"";background:var(--muted);border-radius:1px;height:2px;position:absolute;top:5px;left:3px;right:3px}.step-body{flex-direction:column;min-width:0;display:flex}.step-label{color:var(--muted);font-size:12px;line-height:1.4}.step-title{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;line-height:1.45;overflow:hidden}.st-pending .step-title{color:var(--color-text-tertiary);font-weight:450}.step-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.step-detail{border-top:1px solid var(--border);margin:10px 8px 0;padding-top:12px;font-size:14px}.detail-text{color:var(--text);margin:0 0 10px}.kv{color:var(--muted);flex-direction:column;gap:2px;margin-bottom:8px;font-size:12.5px;display:flex}.kv .mono{color:var(--strong)}@keyframes pulse{50%{box-shadow:0 0 0 7px var(--run-bg)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes fade{0%{opacity:0}}.results{min-width:0;padding:18px}.verdict{animation:rise .28s var(--ease) both;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;padding:12px 14px;font-size:15px;display:flex}.verdict strong{font-weight:650}.verdict span{color:var(--text);font-size:14px}.v-ok{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok-line)}.v-warn{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-line)}.v-bad{background:var(--bad-bg);color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad-line)}.tabs{box-shadow:inset 0 -1px 0 var(--border);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{cursor:pointer;height:40px;color:var(--muted);white-space:nowrap;transition:color .15s var(--ease);background:0 0;border:0;padding:0 12px;font-size:14.5px;font-weight:500;position:relative}.tab:after{content:"";background:var(--color-background-primary-solid);height:2px;transition:transform .2s var(--ease);border-radius:2px 2px 0 0;position:absolute;bottom:0;left:8px;right:8px;transform:scaleX(0)}.tab:hover{color:var(--strong)}.tab.on{color:var(--strong);font-weight:600}.tab.on:after{transform:scaleX(1)}.pane{animation:fade .2s var(--ease) both}.pane-head{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-bottom:10px;display:flex}.pane-head>:last-child{margin-left:auto}.pane-title{color:var(--strong);margin:24px 0 8px;font-size:14px;font-weight:600}.facts{grid-template-columns:128px 1fr;gap:0;margin:0;display:grid}.facts dt,.facts dd{border-top:1px solid var(--border);padding:11px 0}.facts dt:first-of-type,.facts dd:first-of-type{border-top:0;padding-top:2px}.facts dt{color:var(--muted);font-size:14px}.facts dd{color:var(--strong);margin:0}.hits{margin:0;padding:0;list-style:none}.hits li{border-top:1px solid var(--border);padding:10px 0}.hits p{color:var(--muted);margin:2px 0 0;font-size:14px}.code{background:var(--code-bg);color:var(--code-fg);box-shadow:inset 0 0 0 1px var(--color-border-primary-surface);font-family:var(--font-mono);white-space:pre;letter-spacing:0;border-radius:10px;margin:0;padding:14px 16px;font-size:13px;line-height:1.65;overflow-x:auto}.code.small{max-height:360px;font-size:12.5px;overflow:auto}.code.prose{white-space:pre-wrap;font-family:var(--font-sans);font-size:14.5px;line-height:1.65}.diff{padding:10px 0}.d-line{min-width:max-content;padding:0 16px;display:block}.d-add{background:var(--add-bg)}.d-del{background:var(--del-bg)}.d-hunk{color:var(--hunk)}.d-file{color:var(--muted);font-weight:600}.run{box-shadow:inset 0 0 0 1px var(--border);border-radius:10px;margin-bottom:8px}.run summary{cursor:pointer;transition:background-color .15s var(--ease);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;list-style:none;display:flex}.run summary::-webkit-details-marker{display:none}.run summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .2s var(--ease);margin-left:auto;transform:rotate(45deg)translateY(-2px)}.run[open] summary:after{transform:rotate(225deg)translateY(-2px)}.run summary:hover{background:var(--color-background-primary-soft-alpha)}.run .code{box-shadow:none;border-top:1px solid var(--border);border-radius:0 0 10px 10px}.run[open] .code{animation:fade .2s var(--ease) both}.run-label{color:var(--strong);font-weight:600}.pill{height:22px;font-family:var(--font-mono);background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.p-fails-as-expected,.p-passes{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok-line)}.p-broken,.p-error{background:var(--bad-bg);color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad-line)}.footer{padding:18px max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter)));border-top:1px solid var(--color-border-primary-surface);color:var(--muted);flex-wrap:wrap;gap:6px 24px;font-size:13px;display:flex}.footer .mono{color:var(--text)}.step-detail .code{white-space:pre-wrap;word-break:break-all}@media (max-width:860px){.workspace{grid-template-columns:1fr}.timeline{position:static}.input-row{flex-direction:column;align-items:stretch}.actions>.btn{flex:1}.facts{grid-template-columns:1fr}.facts dd{border-top:0;padding-top:0}.facts dt:first-of-type+dd{padding-top:0}}@media (max-width:640px){:root,[data-theme]{--gutter:16px}.topbar{row-gap:8px;padding-top:10px;padding-bottom:10px}.brand-tag{display:none}.badges{margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.badges::-webkit-scrollbar{display:none}.main{padding-top:28px}.intro h1{font-size:26px;line-height:1.3}.intro p{font-size:16px}.seg{display:flex}.seg-item{flex:1;padding:0 8px;font-size:13.5px}.input-card,.results{padding:14px}}.mono,.code,.code *,.pill{font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
