    :root {
      color-scheme: dark;
      --bg: var(--shell-color-bg);
      --panel: var(--shell-color-panel);
      --panel2: #0b1324;
      --text: var(--shell-color-text);
      --muted: var(--shell-color-text-muted);
      --accent: var(--shell-color-accent);
      --accent-strong: var(--shell-color-accent-strong);
      --border: var(--shell-color-border);
      --shadow: 0 20px 40px rgba(15, 23, 42, 0.5);
      --radius: 16px;
    }
    * { box-sizing: border-box; }
    body{
      margin:0;
      font-family:"Inter",system-ui,-apple-system,sans-serif;
      background:
        radial-gradient(circle at 15% 10%, rgba(14, 165, 233, 0.14), transparent 30%),
        radial-gradient(circle at 80% 0%, rgba(56, 189, 248, 0.1), transparent 30%),
        var(--bg);
      color:var(--text);
      max-width:100%;
      overflow-x:hidden;
    }
    a{ color:inherit; text-decoration:none; }
    button, input, textarea{ font:inherit; }

    .pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 12px;
      border-radius: 999px;
      border: 1px solid rgba(56, 189, 248, 0.3);
      background: rgba(14, 165, 233, 0.15);
      font-size: 12px;
      font-weight: 800;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      white-space: nowrap;
    }
    :root {
      --shell-max-width: 1060px;
      --shell-topbar-padding: 12px 20px;
      --shell-topbar-gap: 12px;
      --shell-topbar-z: 10;
      --shell-nav-muted: var(--muted);
      --shell-nav-text: var(--text);
      --shell-nav-border: rgba(30, 41, 59, 0.9);
      --shell-nav-hover-bg: rgba(15, 23, 42, 0.55);
    }
    .header-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 10px 14px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(15, 23, 42, 0.6);
      color: var(--text);
      font-weight: 700;
      font-size: 14px;
    }
    .icon-btn {
      display: none;
      width: 40px;
      height: 40px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(15, 23, 42, 0.6);
      color: var(--text);
      cursor: pointer;
      place-items: center;
      transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
    }
    .icon-btn:hover {
      transform: translateY(-1px);
      box-shadow: var(--shadow);
    }
    .icon {
      width: 18px;
      height: 18px;
      display: block;
    }

    .drawer {
      display: none;
      border-top: 1px solid rgba(30, 41, 59, 0.8);
      background: rgba(11, 18, 33, 0.9);
    }
    .drawer.open { display: block; }
    .drawer-inner {
      max-width: var(--shell-max-width);
      margin: 0 auto;
      padding: 10px 20px 14px;
      display: grid;
      gap: 8px;
    }
    .drawer a {
      padding: 12px 12px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(15, 23, 42, 0.6);
      color: var(--text);
      font-weight: 800;
      font-size: 14px;
    }

    main{
      max-width:var(--shell-max-width);
      margin:24px auto 0;
      padding:0 20px 64px;
      display:flex;
      flex-direction:column;
      gap:22px;
      min-width:0;
    }
    .card{
      background:var(--panel);
      border:1px solid var(--border);
      border-radius:14px;
      padding:20px;
      min-width:0;
    }
    .card > *{
      max-width:100%;
      min-width:0;
    }
    @media (max-width: 960px) {
      main{
        padding:0 14px 56px;
        gap:16px;
      }
      .card{
        padding:16px;
      }
      .lite-chat-thread{
        max-height:none;
      }
    }
    .section-heading{
      margin:4px 0 -8px;
      padding:0 4px;
    }
    .section-heading .eyebrow{
      display:inline-block;
      font-size:11px;
      letter-spacing:0.08em;
      text-transform:uppercase;
      color:var(--accent);
      font-weight:800;
    }
    .section-heading p{
      margin:4px 0 0;
      color:var(--muted);
      font-size:13px;
    }
    .card > * + *{
      margin-top:12px;
    }
    .quick-start-list{
      margin:0;
      padding:10px 14px 10px 30px;
      border:1px solid rgba(56, 189, 248, 0.25);
      border-radius:10px;
      background:rgba(14, 165, 233, 0.08);
      color:var(--text);
      display:grid;
      gap:4px;
      font-size:13px;
    }
    .quick-start-list li{
      line-height:1.4;
    }
    .lite-chat-card{
      border-color: rgba(56, 189, 248, 0.28);
      background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.14), transparent 28%),
        var(--panel);
    }
    .lite-chat-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .lite-chat-prompts{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .lite-chat-prompt{
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(56, 189, 248, 0.25);
      background:rgba(14, 165, 233, 0.08);
      color:var(--text);
      font-size:13px;
      font-weight:700;
    }
    .lite-chat-status{
      font-size:13px;
      color:var(--muted);
    }
    .lite-chat-thread{
      display:flex;
      flex-direction:column;
      gap:10px;
      max-height:420px;
      overflow:auto;
      padding:4px 2px 2px;
    }
    .lite-chat-bubble{
      max-width:min(760px, 100%);
      border-radius:14px;
      border:1px solid var(--border);
      padding:12px 14px;
      background:rgba(15, 23, 42, 0.72);
      line-height:1.5;
      white-space:pre-wrap;
    }
    .lite-chat-bubble[data-role="assistant"]{
      align-self:flex-start;
      background:rgba(8, 47, 73, 0.45);
      border-color:rgba(56, 189, 248, 0.26);
    }
    .lite-chat-bubble[data-role="user"]{
      align-self:flex-end;
      background:rgba(30, 41, 59, 0.9);
    }
    .lite-chat-bubble-label{
      display:block;
      margin-bottom:6px;
      font-size:11px;
      letter-spacing:0.08em;
      text-transform:uppercase;
      color:var(--accent);
      font-weight:800;
    }
    .lite-chat-composer{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .lite-chat-actions{
      display:flex;
      gap:8px;
      justify-content:flex-end;
      flex-wrap:wrap;
    }
    .card h1,
    .card h2{
      margin:0;
    }
    label{ font-size:13px; color:#a8b6ca; }
    input, textarea, button{
      font:inherit;
      padding:10px 12px;
      border-radius:10px;
      border:1px solid var(--border);
      background:#111827;
      color:var(--text);
    }
    button{ cursor:pointer; }
    button:disabled{ opacity:.6; cursor:not-allowed; }
    .row{ display:flex; gap:12px; flex-wrap:wrap; }
    .status{ font-size:14px; color:#a8b6ca; }
    .progress{
      position:relative;
      height:10px;
      background:#111827;
      border:1px solid var(--border);
      border-radius:999px;
      overflow:hidden;
    }
    .progress-bar{
      height:100%;
      width:0%;
      background:linear-gradient(90deg,#22d3ee,#38bdf8,#818cf8);
      transition:width .2s linear;
    }
    .progress.is-active .progress-bar{
      background-size:200% 100%;
      animation:progressShimmer 1.8s linear infinite;
    }
    @keyframes progressShimmer{
      0%{ background-position:0% 50%; }
      100%{ background-position:200% 50%; }
    }
    .status-line{
      display:flex;
      align-items:center;
      gap:8px;
      margin-top:4px;
    }
    .spinner{
      width:14px;
      height:14px;
      border-radius:999px;
      border:2px solid rgba(148,163,184,.4);
      border-top-color:#38bdf8;
      animation:spin .8s linear infinite;
      display:none;
    }
    .spinner.is-active{ display:inline-block; }
    @keyframes spin{
      to{ transform:rotate(360deg); }
    }
    .log-panel{
      background:var(--panel2);
      border:1px solid var(--border);
      border-radius:10px;
      padding:12px;
      font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,"Liberation Mono",monospace;
      font-size:12px;
      color:#cbd5f5;
      max-height:200px;
      overflow:auto;
      white-space:pre-wrap;
    }
    .run-activity-section{
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .run-activity-section-log{
      margin-top:8px;
      padding-top:14px;
      border-top:1px solid var(--border);
    }
    pre{
      background:var(--panel2);
      border:1px solid var(--border);
      border-radius:10px;
      padding:12px;
      overflow:auto;
      white-space:pre-wrap;
      max-height:420px;
    }
    .second-layer-panel {
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      background: #fff;
      overflow: visible;
      color: #0f172a;
    }
    .second-layer-summary {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 10px;
      padding: 12px;
      border-bottom: 1px solid #e2e8f0;
    }
    .second-layer-metric {
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 10px;
      background: #f8fafc;
    }
    .second-layer-metric .label {
      display: block;
      font-size: 11px;
      color: #334155;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }
    .second-layer-metric .value {
      display: block;
      margin-top: 4px;
      font-weight: 800;
      font-size: 22px;
      color: #0f172a;
    }
    .second-layer-families {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 12px;
      max-height: min(75vh, 980px);
      min-height: 560px;
      overflow: auto;
    }
    .second-layer-family {
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #fff;
      overflow: hidden;
    }
    .second-layer-family summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      font-weight: 650;
      color: #0f172a;
    }
    .second-layer-family summary::-webkit-details-marker { display: none; }
    .second-layer-family summary:hover {
      background: #f8fafc;
    }
    .second-layer-family-id {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .second-layer-chip {
      font-size: 12px;
      color: #334155;
      border: 1px solid #cbd5e1;
      border-radius: 999px;
      padding: 2px 8px;
      background: #f8fafc;
      white-space: nowrap;
    }
    .second-layer-chip.is-good {
      border-color: #86efac;
      background: #dcfce7;
      color: #166534;
    }
    .second-layer-chip.is-warning {
      border-color: #fcd34d;
      background: #fef3c7;
      color: #92400e;
    }
    .second-layer-card-compare {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 10px;
    }
    .second-layer-product-header {
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr) auto;
      gap: 12px;
      align-items: flex-start;
      padding: 12px;
      border-bottom: 1px solid #e2e8f0;
      background: #f8fafc;
    }
    .second-layer-product-media {
      width: 96px;
      height: 96px;
      border-radius: 10px;
      border: 1px solid #cbd5e1;
      overflow: hidden;
      background: #fff;
      display: grid;
      place-items: center;
      color: #64748b;
      font-size: 11px;
      text-align: center;
    }
    .second-layer-product-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #fff;
    }
    .second-layer-product-image-empty {
      padding: 8px;
      line-height: 1.3;
    }
    .second-layer-product-meta {
      min-width: 0;
      display: grid;
      gap: 6px;
    }
    .second-layer-product-title {
      font-size: 15px;
      line-height: 1.35;
      color: #0f172a;
      word-break: break-word;
    }
    .second-layer-product-fields {
      display: grid;
      gap: 6px;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .second-layer-product-fields > div {
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      background: #fff;
      padding: 6px 8px;
      display: grid;
      gap: 4px;
      min-width: 0;
    }
    .second-layer-product-fields span {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .05em;
      color: #64748b;
      font-weight: 700;
    }
    .second-layer-product-fields code {
      margin: 0;
      display: block;
      font-size: 12px;
      color: #0f172a;
      white-space: pre-wrap;
      word-break: break-word;
      overflow-wrap: anywhere;
    }
    .second-layer-compare-column {
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #f8fafc;
      padding: 10px;
      min-width: 0;
    }
    .second-layer-compare-column h5 {
      margin: 0 0 8px;
      color: #0f172a;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .second-layer-compare-table {
      display: grid;
      gap: 8px;
    }
    .second-layer-compare-row {
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      background: #fff;
      padding: 8px;
      display: grid;
      gap: 6px;
    }
    .second-layer-compare-row .field {
      font-size: 11px;
      font-weight: 700;
      color: #475569;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .second-layer-compare-row code {
      display: block;
      border: 1px solid #cbd5e1;
      border-radius: 8px;
      background: #f8fafc;
      padding: 6px 8px;
      font-size: 12px;
      white-space: pre-wrap;
      word-break: break-word;
      color: #0f172a;
    }
    .second-layer-review-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 10px;
      padding: 0 12px 12px;
    }
    .second-layer-field-review {
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #f8fafc;
      padding: 10px;
    }
    .second-layer-field-review h4 {
      margin: 0 0 8px;
      font-size: 13px;
      color: #0f172a;
    }
    .second-layer-current-value {
      margin-bottom: 8px;
      display: grid;
      gap: 4px;
    }
    .second-layer-current-value .label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .05em;
      color: #64748b;
    }
    .second-layer-current-value code {
      display: block;
      font-size: 12px;
      color: #0f172a;
      background: #fff;
      border: 1px solid #cbd5e1;
      border-radius: 8px;
      padding: 6px 8px;
      white-space: pre-wrap;
      word-break: break-word;
    }
    .second-layer-current-value small {
      color: #334155;
      font-size: 11px;
    }
    .second-layer-answer {
      display: flex;
      gap: 6px;
      margin-bottom: 8px;
      flex-wrap: wrap;
    }
    .second-layer-answer button {
      min-width: 60px;
      padding: 6px 8px;
      border-radius: 8px;
      border: 1px solid #cbd5e1;
      background: #fff;
      color: #0f172a;
      cursor: pointer;
      font-size: 12px;
      font-weight: 600;
    }
    .second-layer-answer button.is-active {
      border-color: #93c5fd;
      background: #dbeafe;
    }
    .second-layer-field-review select,
    .second-layer-field-review input {
      width: 100%;
      margin-top: 6px;
      border-radius: 8px;
      border: 1px solid #cbd5e1;
      background: #fff;
      color: #0f172a;
      padding: 8px;
      font-size: 12px;
    }
    .second-layer-field-review .row {
      margin-top: 8px;
      display: flex;
      gap: 8px;
    }
    .second-layer-evidence-picker small {
      display: block;
      width: 100%;
      color: #334155;
      font-size: 11px;
      margin-bottom: 4px;
    }
    .second-layer-field-review button[data-action="use-evidence-value"] {
      text-align: left;
      justify-content: flex-start;
      font-weight: 600;
      border-color: #cbd5e1;
      background: #fff;
      color: #0f172a;
    }
    .second-layer-field-review button[data-action="use-evidence-value"] span {
      display: block;
      width: 100%;
      overflow-wrap: anywhere;
    }
    .second-layer-field-review button[data-action="use-evidence-value"] small {
      display: block;
      width: 100%;
      color: #64748b;
      font-weight: 500;
      margin-top: 2px;
      overflow-wrap: anywhere;
    }
    .second-layer-field-review button[data-action="use-evidence-value"].is-active {
      border-color: #93c5fd;
      background: #dbeafe;
    }
    .second-layer-note-list {
      margin: 0;
      padding-left: 18px;
      color: #334155;
      font-size: 12px;
      display: grid;
      gap: 2px;
    }
    .second-layer-html-preview {
      margin: 10px 12px;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      background: #f8fafc;
      padding: 8px 10px;
    }
    .second-layer-html-preview > summary {
      cursor: pointer;
      font-weight: 600;
      color: #0f172a;
    }
    .second-layer-html-toolbar {
      margin: 8px 0;
    }
    .second-layer-sample-products {
      display: grid;
      gap: 8px;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
    .second-layer-sample-product {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 8px;
    }
    .second-layer-sample-product h5 {
      margin: 0 0 6px;
      font-size: 12px;
      color: #0f172a;
    }
    .second-layer-html-code {
      margin-top: 6px;
      max-height: 220px;
      overflow: auto;
      white-space: pre-wrap;
      word-break: break-word;
      font-size: 11px;
    }
    .second-layer-empty {
      border: 1px dashed #cbd5e1;
      border-radius: 10px;
      padding: 16px;
      color: #64748b;
      text-align: center;
      margin: 12px;
    }
    .second-layer-controls {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      align-items: center;
      margin: 10px 0 0;
    }
    .second-layer-controls label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .second-layer-controls select {
      border: 1px solid #cbd5e1;
      background: #fff;
      color: #0f172a;
      padding: 7px 10px;
      border-radius: 8px;
    }
    .second-layer-controls small {
      opacity: .86;
      color: #334155;
    }
    .second-layer-toolbar {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
      margin: 0 0 12px;
    }
    .second-layer-search {
      flex: 1 1 320px;
      min-width: 220px;
      border: 1px solid #cbd5e1;
      border-radius: 8px;
      padding: 8px 10px;
      font-size: 13px;
      color: #0f172a;
      background: #fff;
    }
    .second-layer-toolbar small {
      color: #475569;
      font-size: 12px;
    }
    @media (max-width: 920px) {
      .second-layer-product-header {
        grid-template-columns: 72px minmax(0, 1fr);
      }
      .second-layer-product-media {
        width: 72px;
        height: 72px;
      }
    }
    .preview-inline{
      width:100%;
      max-width:100%;
      box-sizing:border-box;
      min-height:clamp(520px, 72vh, 900px);
      border:1px solid var(--border);
      border-radius:10px;
      background:#fff;
      color:#0f172a;
      padding:16px;
      overflow-y:auto;
      overflow-x:hidden;
    }
    .preview-inline table{
      width:100%;
      border-collapse:collapse;
      table-layout:fixed;
      min-width:0;
      font-size:13px;
    }
    .preview-inline col.col-image{ width:86px; }
    .preview-inline col.col-product{ width:260px; }
    .preview-inline col.col-price{ width:140px; }
    .preview-inline col.col-brand{ width:160px; }
    .preview-inline col.col-category{ width:200px; }
    .preview-inline col.col-parent{ width:240px; }
    .preview-inline col.col-family{ width:140px; }
    .preview-inline col.col-source{ width:280px; }
    .preview-inline th,
    .preview-inline td{
      border-bottom:1px solid #e2e8f0;
      padding:10px 12px;
      text-align:left;
      vertical-align:top;
      word-break:break-word;
      line-height:1.4;
      overflow:hidden;
    }
    .preview-inline th{
      background:#f8fafc;
      color:#0f172a;
      font-weight:600;
      position:sticky;
      top:0;
      z-index:1;
      resize:horizontal;
      min-width:80px;
    }
    .preview-inline tbody tr:nth-child(even){
      background:#f8fafc;
    }
    .preview-inline tbody tr:hover{
      background:#e2e8f0;
    }
    .preview-inline .preview-meta{
      font-size:13px;
      color:#334155;
      margin:0 0 12px;
    }
    .preview-inline .preview-source{
      font-size:15px;
      font-weight:600;
      color:#0f172a;
      margin:0 0 12px;
    }
    .preview-inline .preview-source a{
      color:#0f172a;
    }
    .preview-inline .preview-title{
      font-weight:600;
      margin-bottom:4px;
    }
    .preview-inline img{
      max-width:64px;
      max-height:64px;
      object-fit:contain;
      border-radius:8px;
      border:1px solid #e2e8f0;
      background:#fff;
    }
    .source-html-actions{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
    }
    .source-html-trigger{
      border:1px solid #cbd5f5;
      background:#f8fafc;
      color:#1e293b;
      border-radius:999px;
      padding:4px 10px;
      font-size:12px;
      font-weight:600;
      cursor:pointer;
    }
    .source-html-trigger:hover{
      background:#e2e8f0;
    }

    @media (max-width: 920px) {
      .preview-inline {
        padding: 10px;
      }
      .preview-inline table,
      .preview-inline thead,
      .preview-inline tbody,
      .preview-inline th,
      .preview-inline td,
      .preview-inline tr {
        display: block;
      }
      .preview-inline thead {
        display: none;
      }
      .preview-inline tbody tr {
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        margin-bottom: 10px;
        background: #fff;
        overflow: hidden;
      }
      .preview-inline td {
        border-bottom: 1px solid #e2e8f0;
        padding: 8px 10px;
      }
      .preview-inline td:last-child {
        border-bottom: none;
      }
      .preview-inline td::before {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        font-weight: 700;
        color: #475569;
        text-transform: uppercase;
      }
      .preview-inline td:nth-child(1)::before { content: "Image"; }
      .preview-inline td:nth-child(2)::before { content: "Product"; }
      .preview-inline td:nth-child(3)::before { content: "Price"; }
      .preview-inline td:nth-child(4)::before { content: "Brand"; }
      .preview-inline td:nth-child(5)::before { content: "Category"; }
      .preview-inline td:nth-child(6)::before { content: "Parent URL"; }
      .preview-inline td:nth-child(7)::before { content: "Layout family"; }
      .preview-inline td:nth-child(8)::before { content: "Source HTML"; }
    }
    .source-html-modal{
      position:fixed;
      inset:0;
      background:rgba(15, 23, 42, 0.6);
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
      z-index:80;
    }
    .source-html-modal.is-open{
      display:flex;
    }
    .workflow-decision-modal{
      position:fixed;
      inset:0;
      background:rgba(15, 23, 42, 0.72);
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
      z-index:90;
    }
    .workflow-decision-modal.is-open{
      display:flex;
    }
    .source-html-dialog{
      width:min(1200px, 96vw);
      height:min(82vh, 900px);
      background:#fff;
      border-radius:14px;
      box-shadow:0 20px 60px rgba(15, 23, 42, 0.35);
      display:flex;
      flex-direction:column;
      overflow:hidden;
    }
    .workflow-decision-dialog{
      width:min(560px, 96vw);
      border-radius:18px;
      border:1px solid rgba(56, 189, 248, 0.24);
      background:linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(10, 15, 28, 0.98));
      box-shadow:0 28px 80px rgba(2, 8, 23, 0.55);
      padding:20px;
      color:var(--text);
      display:flex;
      flex-direction:column;
      gap:16px;
    }
    .source-html-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:12px 16px;
      border-bottom:1px solid #e2e8f0;
      background:#f8fafc;
      color:#0f172a;
      font-weight:600;
    }
    .workflow-decision-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .workflow-decision-header h3{
      margin:0;
      font-size:20px;
      line-height:1.2;
    }
    .workflow-decision-body{
      margin:8px 0 0;
      color:var(--muted);
      line-height:1.5;
    }
    .workflow-decision-details{
      margin:0;
      padding:0 0 0 18px;
      display:grid;
      gap:8px;
      color:var(--text);
    }
    .workflow-decision-details:empty{
      display:none;
    }
    .workflow-decision-details li{
      line-height:1.45;
      color:var(--muted);
    }
    .workflow-decision-actions{
      display:flex;
      justify-content:flex-end;
      gap:10px;
      flex-wrap:wrap;
    }
    .workflow-decision-primary{
      border-color:rgba(56, 189, 248, 0.45);
      background:linear-gradient(180deg, rgba(14, 165, 233, 0.34), rgba(2, 132, 199, 0.22));
      color:#f8fafc;
    }
    .workflow-decision-cancel{
      color:var(--muted);
    }
    .workflow-decision-dialog .button:focus-visible{
      outline:2px solid rgba(125, 211, 252, 0.95);
      outline-offset:2px;
    }
    .source-html-frame{
      flex:1;
      width:100%;
      border:0;
      background:#fff;
    }
    @media (max-width: 720px) {
      .source-html-modal{
        padding:0;
      }
      .workflow-decision-modal{
        padding:12px;
      }
      .source-html-dialog{
        width:100%;
        height:100%;
        border-radius:0;
      }
      .workflow-decision-dialog{
        width:100%;
        padding:16px;
      }
      .source-html-header{
        padding:10px 12px;
      }
      .workflow-decision-header,
      .workflow-decision-actions{
        flex-direction:column;
        align-items:stretch;
      }
      .workflow-decision-actions .button{
        width:100%;
      }
    }
    .snapshot-frame-wrap{
      width:100%;
      max-width:100%;
      overflow-x:auto;
      overflow-y:hidden;
      scrollbar-gutter:stable both-edges;
      -webkit-overflow-scrolling:touch;
    }
    .snapshot-frame{
      display:block;
      width:max(100%, 760px);
      max-width:none;
      min-height:clamp(520px, 78vh, 980px);
      border:1px solid var(--border);
      border-radius:10px;
      background:var(--panel2);
    }
    @media (max-width: 720px) {
      .snapshot-frame{
        width:max(100%, 640px);
        min-height:70vh;
      }
    }

    #snapshotOverrideCard,
    #qualityCheckCard,
    #secondLayerCard{
      overflow-x:clip;
    }
    .step-row{
      gap:12px;
    }

    .quality-step-tracker{
      margin:8px 0 10px;
      padding:10px 12px;
      border:1px solid rgba(148,163,184,.35);
      border-radius:12px;
      background:rgba(15,23,42,.42);
      display:grid;
      gap:8px;
    }
    .quality-step-list{
      margin:0;
      padding-left:18px;
      display:grid;
      gap:5px;
      font-size:13px;
      color:var(--muted);
    }
    .quality-step-item{
      transition:color 150ms ease;
    }
    .quality-step-item.is-current{
      color:#f8fafc;
      font-weight:700;
    }
    .quality-step-item.is-done{
      color:#86efac;
    }
    .quality-step-item.is-warning{
      color:#fca5a5;
      font-weight:650;
    }

    .quality-subcard{
      margin-top:12px;
      padding:12px;
      border:1px solid var(--border);
      border-radius:12px;
      background:rgba(15,23,42,.3);
    }
    .workflow-step-group{
      margin-top:12px;
      padding:12px;
      border:1px solid var(--border);
      border-radius:12px;
      background:rgba(15, 23, 42, 0.45);
    }
    .workflow-step-group-title{
      margin:0;
      font-size:14px;
      letter-spacing:.02em;
    }
    .workflow-step-group-help{
      margin:6px 0 10px;
      font-size:12px;
    }
    .workflow-step-group--core{
      border-color:rgba(56, 189, 248, 0.45);
      background:rgba(14, 165, 233, 0.1);
    }
    .workflow-step-group--quality,
    .workflow-step-group--results{
      background:rgba(15, 23, 42, 0.35);
    }
    .workflow-step-helper-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:8px;
      margin-top:10px;
    }
    .workflow-step-helper{
      margin:0;
      padding:8px 10px;
      border:1px solid rgba(148, 163, 184, 0.18);
      border-radius:10px;
      background:rgba(15, 23, 42, 0.5);
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }
    .workflow-step-helper.is-next{
      border-color:rgba(56, 189, 248, 0.45);
      background:rgba(14, 165, 233, 0.12);
      color:#dbeafe;
    }
    .assist-review-card{
      display:grid;
      gap:12px;
      margin-top:12px;
      border-color:rgba(56, 189, 248, 0.24);
      background:linear-gradient(180deg, rgba(8, 47, 73, 0.22), rgba(15, 23, 42, 0.4));
    }
    .assist-review-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .assist-review-subtitle{
      max-width:68ch;
    }
    .assist-review-badge{
      display:inline-flex;
      align-items:center;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(148, 163, 184, 0.3);
      background:rgba(15, 23, 42, 0.68);
      color:#e2e8f0;
      font-size:12px;
      font-weight:800;
      letter-spacing:.03em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .assist-review-badge[data-tone="success"]{
      border-color:rgba(34, 197, 94, 0.45);
      background:rgba(22, 101, 52, 0.32);
      color:#bbf7d0;
    }
    .assist-review-badge[data-tone="warning"]{
      border-color:rgba(245, 158, 11, 0.48);
      background:rgba(120, 53, 15, 0.35);
      color:#fde68a;
    }
    .assist-review-badge[data-tone="danger"]{
      border-color:rgba(248, 113, 113, 0.48);
      background:rgba(127, 29, 29, 0.35);
      color:#fecaca;
    }
    .assist-review-summary{
      margin:0;
      color:#e2e8f0;
    }
    .assist-review-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }
    .assist-review-grid--secondary{
      align-items:start;
    }
    .assist-review-section{
      min-width:0;
      padding:12px;
      border:1px solid rgba(148, 163, 184, 0.18);
      border-radius:12px;
      background:rgba(15, 23, 42, 0.46);
    }
    .assist-review-section h5{
      margin:0 0 8px;
      font-size:13px;
    }
    .assist-review-list{
      margin:0;
      padding-left:18px;
      display:grid;
      gap:8px;
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }
    .assist-review-list li{
      min-width:0;
    }
    .assist-review-list strong,
    .assist-review-next strong{
      color:var(--text);
    }
    .assist-review-next{
      padding:12px;
      border:1px solid rgba(56, 189, 248, 0.28);
      border-radius:12px;
      background:rgba(8, 47, 73, 0.3);
    }
    .assist-review-next p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }
    .step-button{
      border:1px solid var(--border);
      background:rgba(15, 23, 42, 0.65);
      font-weight:700;
      transition:background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
    }
    .step-button.is-active{
      border-color:var(--accent-strong);
      background:rgba(14, 165, 233, 0.18);
      color:#e0f2fe;
      box-shadow:0 0 0 1px rgba(56, 189, 248, 0.35);
    }
    .host-memory{
      margin-top:12px;
    }
    .accordion{
      border:1px solid var(--border);
      border-radius:12px;
      background:rgba(15, 23, 42, 0.6);
      overflow:hidden;
    }
    .accordion summary{
      list-style:none;
      cursor:pointer;
      padding:12px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-weight:700;
    }
    .accordion summary::-webkit-details-marker{
      display:none;
    }
    .accordion[open] summary{
      border-bottom:1px solid var(--border);
    }
    .accordion-title{
      color:var(--text);
    }
    .accordion-meta{
      color:var(--muted);
      font-size:12px;
      font-weight:600;
      text-align:right;
    }
    .accordion-body{
      padding:12px 14px 14px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .download-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
      gap:12px;
      margin-top:12px;
    }

    .quality-readiness-banner {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 10px 12px;
      background: rgba(15, 23, 42, 0.55);
    }
    .quality-readiness-banner strong {
      display: block;
      font-size: 13px;
      margin-bottom: 4px;
    }
    .quality-readiness-banner p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
    }
    .quality-readiness-banner.is-passed {
      border-color: rgba(34, 197, 94, 0.5);
      background: rgba(22, 101, 52, 0.25);
    }
    .quality-readiness-banner.is-blocked,
    .quality-readiness-banner.is-failed {
      border-color: rgba(239, 68, 68, 0.55);
      background: rgba(127, 29, 29, 0.26);
    }
    .quality-readiness-banner.is-in_progress,
    .quality-readiness-banner.is-not_started {
      border-color: rgba(245, 158, 11, 0.55);
      background: rgba(120, 53, 15, 0.26);
    }
    .download-card{
      border:1px solid var(--border);
      border-radius:12px;
      padding:12px;
      background:rgba(15, 23, 42, 0.55);
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .download-card h3{
      margin:0;
      font-size:15px;
    }
    .download-meta{
      color:var(--muted);
      font-size:12px;
    }
    .download-actions{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .download-actions .button{
      padding:8px 12px;
      font-size:13px;
    }
    .download-status{
      font-size:12px;
      color:var(--muted);
      margin:0;
    }
    .manual-override-panel {
      margin-top: 12px;
      padding: 12px;
      border: 1px solid rgba(56, 189, 248, 0.35);
      border-radius: 12px;
      background: rgba(14, 165, 233, 0.08);
      display: grid;
      gap: 10px;
    }
    .manual-override-panel h3 {
      margin: 0;
      font-size: 15px;
    }
    .manual-override-panel ul {
      margin: 0;
      padding-left: 18px;
      color: var(--muted);
      font-size: 13px;
      display: grid;
      gap: 4px;
    }
    .manual-override-panel code {
      color: #e0f2fe;
      background: rgba(15, 23, 42, 0.5);
      border: 1px solid rgba(148, 163, 184, 0.35);
      border-radius: 6px;
      padding: 1px 6px;
    }


    .ai-decision-panel{
      display:none;
      margin-top:10px;
      padding:12px;
      border:1px solid rgba(56,189,248,.35);
      border-radius:12px;
      background:rgba(14,165,233,.1);
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .ai-decision-status{
      margin:0;
      color:var(--text);
      font-size:14px;
      font-weight:650;
    }
    .ai-decision-actions{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .ai-quality-panel{
      display:none;
      margin-top:10px;
      padding:12px;
      border:1px solid rgba(148,163,184,.35);
      border-radius:12px;
      background:rgba(15,23,42,.35);
      color:var(--text);
      font-size:13px;
    }
    .ai-quality-panel.warning{
      display:block;
      border-color:rgba(245,158,11,.45);
      background:rgba(245,158,11,.12);
    }
    .ai-quality-panel strong{ color:var(--text); }
    .ai-quality-panel-text{
      margin:0;
      line-height:1.4;
    }
    .ai-quality-copy-btn{
      margin-top:10px;
      padding:8px 12px;
      font-size:12px;
    }
    .ai-quality-fallback-block{
      margin-top:10px;
      padding-top:10px;
      border-top:1px dashed rgba(148,163,184,.45);
    }
    .ai-quality-fallback-details{
      margin-top:8px;
    }
    .ai-quality-fallback-details summary{
      cursor:pointer;
      font-weight:600;
    }
    .ai-quality-suggestions{
      margin-top:10px;
      padding-top:10px;
      border-top:1px dashed rgba(148,163,184,.45);
    }
    .ai-quality-suggestions summary{
      cursor:pointer;
      font-weight:650;
    }
    .ai-quality-suggestion-list{
      margin:10px 0 0;
      padding-left:18px;
      display:grid;
      gap:8px;
    }
    .ai-quality-suggestion-item{
      line-height:1.35;
    }
    .ai-quality-suggestion-title{
      font-weight:600;
      margin-bottom:2px;
    }
    .ai-quality-suggestion-reason,
    .ai-quality-suggestion-selectors{
      color:var(--muted);
      font-size:12px;
    }
    .ai-quality-fallback-pre{
      margin:8px 0 0;
      padding:10px;
      border-radius:8px;
      background:rgba(15,23,42,.55);
      border:1px solid rgba(148,163,184,.25);
      overflow:auto;
      white-space:pre-wrap;
      word-break:break-word;
      font-size:12px;
      line-height:1.35;
    }

    @media (max-width: 899px) {
      .nav { display: none; }
      .workflow-step-helper-grid,
      .assist-review-grid {
        grid-template-columns:1fr;
      }
      .pill { display: none; }
      .icon-btn { display: grid; }
    }

    @media (min-width: 900px) {
      .drawer,
      .drawer.open {
        display: none;
      }
    }
  
