:root{--paper: #edf0ed;--grid-dot: rgba(27, 32, 30, .05);--surface: #fbfcfa;--surface-2: #f3f5f2;--ink: #1b201e;--muted: #6f7974;--faint: #98a19b;--border: #dce1dc;--border-strong: #c8cfc8;--accent: #e8590c;--accent-ink: #c2410c;--accent-weak: #fce9dc;--teal: #0e6362;--teal-ink: #0a4a49;--teal-weak: #e2eeec;--danger: #b42318;--danger-ink: #912018;--danger-weak: #fbe9e7;--success: #1a7f4b;--success-weak: #e2f1e8;--meter-bg: #1b201e;--meter-label: #75847d;--meter-dim: #8fa39b;--meter-text: #f2f5f1;--meter-path: #c9d4cd;--meter-hair: rgba(237, 240, 237, .14);--r-card: 12px;--r-ctl: 8px;--r-btn: 8px;--sh-card: 0 1px 2px rgba(27, 32, 30, .04), 0 16px 34px -26px rgba(27, 32, 30, .3);--sh-pop: 0 2px 4px rgba(27, 32, 30, .08), 0 18px 40px -16px rgba(27, 32, 30, .28);--display: "Bricolage Grotesque", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--sans: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{max-width:1200px;margin:0 auto;padding:28px 28px 80px}.app>header{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:4px 0 18px;margin-bottom:24px;border-bottom:2px solid var(--ink);animation:fadeUp .5s ease both}.app>header>h1:before{content:"REPORT PIPELINE · DEBUG CONSOLE";display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.app>header h1{font-family:var(--display);font-size:30px;font-weight:800;letter-spacing:-.015em;margin:0;color:var(--ink)}.lamps{display:flex;gap:18px;padding-bottom:4px}.lamp{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lamp i{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-weak)}nav[aria-label=panels]{display:flex;gap:2px;margin-bottom:26px;border-bottom:1px solid var(--border);animation:fadeUp .5s ease .06s both}nav[aria-label=panels] button{position:relative;border:none;background:transparent;color:var(--muted);padding:12px 16px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;border-radius:0;margin-bottom:-1px;transition:color .15s}nav[aria-label=panels] button:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--accent);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .2s ease}nav[aria-label=panels] button:hover{color:var(--teal)}nav[aria-label=panels] button[aria-current=page]{color:var(--ink)}nav[aria-label=panels] button[aria-current=page]:after{transform:scaleX(1)}main{animation:fadeUp .5s ease .12s both}main>section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:26px 28px;box-shadow:var(--sh-card)}main>section[aria-label=report-panel]{background:transparent;border:none;padding:0;box-shadow:none}main section h2{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 20px}main section h3{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;margin:26px 0 12px}main section h3:before{content:"";width:7px;height:15px;background:var(--teal);border-radius:2px;flex:none}main section h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px}.module{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:26px 26px 22px;margin-bottom:22px;box-shadow:var(--sh-card)}.module:before{content:attr(data-mtag);position:absolute;top:-9px;left:18px;background:var(--paper);padding:0 9px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}fieldset{border:1px solid var(--border);border-radius:var(--r-card);padding:16px 18px;margin:0 0 18px;background:var(--surface-2)}legend{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);padding:0 8px}fieldset.mode-fieldset{border:none;background:transparent;padding:0;margin:0 0 14px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mode-card{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid var(--border-strong);border-radius:10px;padding:13px 15px;cursor:pointer;margin:0;transition:border-color .15s,box-shadow .15s}.mode-card:hover{border-color:var(--muted)}.mode-card.mode-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.mode-head{display:flex;align-items:center;gap:9px}.mode-name{font-family:var(--mono);font-size:13px;font-weight:600}.mode-badge{margin-left:auto;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:5px;white-space:nowrap}.mode-badge.hot{background:var(--accent-weak);color:var(--accent-ink)}.mode-badge.cool{background:var(--teal-weak);color:var(--teal-ink)}.mode-sub{font-size:11.5px;color:var(--muted);line-height:1.5}.mode-extra{width:100%;margin-top:12px}.run-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.run-note{font-family:var(--mono);font-size:11px;color:var(--faint);background:none;border:none;padding:0}label{display:inline-flex;align-items:center;gap:6px;margin-right:16px;font-size:13px;color:var(--ink)}input[type=text],input:not([type]),select,textarea{font-family:var(--mono);font-size:13px;color:var(--ink);background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-ctl);padding:7px 10px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input:not([type]):focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-weak)}textarea{width:100%;min-height:130px;resize:vertical;line-height:1.5}select{cursor:pointer;font-family:var(--sans)}input[type=radio],input[type=checkbox]{accent-color:var(--ink);cursor:pointer;width:15px;height:15px}button{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-btn);padding:8px 16px;cursor:pointer;transition:background .14s,border-color .14s,color .14s,transform .1s,box-shadow .14s}button:hover{border-color:var(--teal);color:var(--teal-ink);background:var(--surface-2)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;color:var(--muted);border-color:var(--border);background:var(--surface);transform:none}button.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:9px 22px;font-weight:700;box-shadow:0 1px 2px #e8590c4d,0 10px 22px -12px #e8590ca6}button.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff;transform:translateY(-1px);box-shadow:var(--sh-pop)}button.btn-primary:disabled{background:var(--accent);border-color:var(--accent);box-shadow:none}button.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 1px 2px #b4231840,0 8px 18px -10px #b423188c}button.btn-danger:hover{background:var(--danger-ink);border-color:var(--danger-ink);color:#fff;transform:translateY(-1px)}button.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--muted)}button.btn-ghost:hover{color:var(--ink);border-color:var(--ink);background:transparent}main section>div>button,fieldset>button{margin-right:8px;margin-top:6px}.recorder{padding-bottom:26px}.recorder:after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:10px;border-radius:0 0 calc(var(--r-card) - 2px) calc(var(--r-card) - 2px);overflow:hidden;background:repeating-linear-gradient(90deg,rgba(27,32,30,.14) 0 1px,transparent 1px 12px),repeating-linear-gradient(90deg,rgba(27,32,30,.3) 0 1px,transparent 1px 60px);background-position:bottom;pointer-events:none}.recorder-cells{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;align-items:stretch}.rcell-pair{display:contents}.rcell{padding:0 26px;border-left:1px solid var(--border);min-width:0}.rcell-first,.rcell:first-child{padding-left:0;border-left:none}.rcell-label{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.rcell p{margin:0;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.rcell-dim{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--faint)}.rcell-path{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--teal-ink);overflow-wrap:anywhere}.stage-chip{display:inline-block;margin-top:7px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 7px}.recorder [aria-label=status]{background:transparent;border:none;padding:0;color:var(--success);font-size:14px;display:block}.recorder [aria-label=status].running{color:var(--ink)}.stage-track{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;margin:18px 0 4px;padding:14px 0 0;border-top:1px solid var(--border)}.stage-track .st{display:flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--faint);white-space:nowrap}.stage-track .st:before{content:"";width:7px;height:7px;border-radius:50%;margin-right:7px;background:#1b201e24;flex:none}.stage-track .st:not(:last-child):after{content:"";width:34px;height:1px;background:var(--border);margin:0 12px}.stage-track .st-done{color:var(--muted)}.stage-track .st-done:before{background:var(--success);box-shadow:none}.stage-track .st-active{color:var(--ink)}.stage-track .st-active:before{background:var(--accent);box-shadow:0 0 8px #e8590c99;animation:pulse 1.1s ease-in-out infinite}.st-count{margin-left:6px;font-size:10px;color:var(--teal-ink);background:var(--teal-weak);border-radius:4px;padding:1px 6px}nav[aria-label=prompt-files] strong{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin:14px 0 5px}nav[aria-label=prompt-files] button{display:block;width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:7px 10px;margin:2px 0;border-radius:var(--r-ctl);font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink)}nav[aria-label=prompt-files] button:hover{background:var(--surface-2);color:var(--teal-ink);border-color:var(--border);transform:none}nav[aria-label=prompt-files] button[aria-current=true]{background:var(--teal-weak);color:var(--teal-ink);border-color:var(--teal);font-weight:600}[role=tablist]{display:inline-flex;gap:4px;flex-wrap:wrap;margin:10px 0 14px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}[role=tab]{border:1px solid transparent;background:transparent;border-radius:7px;padding:6px 14px;color:var(--muted);font-family:var(--mono);font-size:11.5px;font-weight:500}[role=tab]:hover{color:var(--ink);background:transparent;border-color:transparent;transform:none}[role=tab][aria-selected=true]{background:#fff;color:var(--teal-ink);font-weight:600;border-color:var(--border-strong);box-shadow:0 1px 2px #1b201e12}[role=tab][aria-selected=true]:hover{color:var(--teal-ink)}table{border-collapse:separate;border-spacing:0;width:100%;margin:12px 0;font-size:13px;border:1px solid var(--border);border-radius:10px;overflow:hidden}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border)}thead th{background:var(--surface-2);font-family:var(--mono);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background:var(--surface-2)}td{font-family:var(--mono);font-size:12px}pre{background:var(--meter-bg);color:#e6ece7;padding:14px 16px;border-radius:var(--r-card);overflow:auto;max-height:380px;font-family:var(--mono);font-size:12px;line-height:1.6;border:1px solid #10140f}code{font-family:var(--mono);font-size:12px;background:var(--teal-weak);color:var(--teal-ink);border-radius:5px;padding:1px 6px;word-break:break-word}p[role=alert]{color:var(--danger-ink);background:var(--danger-weak);border:1px solid #f2c7c2;border-left:3px solid var(--danger);padding:10px 14px;border-radius:var(--r-ctl);font-size:13px}p[role=status]{color:var(--success);background:var(--success-weak);border:1px solid #bfe3cd;border-left:3px solid var(--success);padding:10px 14px;border-radius:var(--r-ctl);font-size:13px}p[role=note],[aria-label=mode-banner]{color:var(--muted);font-size:12px;background:var(--surface-2);border:1px dashed var(--border-strong);padding:8px 12px;border-radius:var(--r-ctl)}span.run-note[aria-label=mode-banner]{background:none;border:none;padding:0}[aria-label=status]{font-family:var(--mono);font-weight:600;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-ctl);padding:8px 12px;display:inline-block}details{border:1px dashed var(--border-strong);border-radius:var(--r-ctl);padding:12px 16px;margin:0 0 14px;background:var(--surface-2)}summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--ink)}summary:hover{color:var(--teal-ink)}iframe{border:1px solid var(--border-strong);border-radius:10px;background:#fff;box-shadow:var(--sh-card)}a{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--teal-weak)}a:hover{border-bottom-color:var(--teal)}[data-testid=field-checklist]{border:1px solid var(--border);border-radius:var(--r-ctl);padding:8px 10px;background:var(--surface)}ul{padding-left:18px}[data-testid$=-row]{list-style:none;padding:5px 8px;border-bottom:1px solid var(--border);font-size:12px}[data-testid$=-row]:last-child{border-bottom:none}[data-testid$=-row] strong{font-family:var(--mono);color:var(--teal-ink);font-weight:600}[data-testid$=-row] code{background:transparent;color:var(--muted);border:none;padding:0}[aria-label=affected-l2]{background:var(--danger-weak);border:1px solid #f2c7c2;border-radius:var(--r-ctl);padding:10px 14px;font-size:13px;color:var(--danger-ink)}[aria-label=affected-l2] strong{font-family:var(--mono)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button.btn-primary:focus-visible{outline-color:var(--accent-ink)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}nav[aria-label=panels]{align-items:center}nav[aria-label=panels] button.nav-primary{font-family:var(--display);font-size:15.5px;font-weight:700}.debug-group{margin-left:auto;display:flex;align-items:center;gap:2px}.debug-group-label{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding-right:12px;margin-right:8px;border-right:1px solid var(--border)}.debug-group button{font-size:12.5px;font-weight:500;padding:9px 12px}.debug-group button:after{display:none}.debug-group button[aria-current=page]{color:var(--teal-ink)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 18px;margin-bottom:16px}.field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-right:0;font-size:13px}.field-name{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.field input,.field select{width:100%}.field-wide{grid-column:1 / -1}[aria-label=status].running:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}[aria-label=cost-token] p{margin:0}@media (max-width: 860px){.mode-cards{grid-template-columns:1fr}.recorder-cells{grid-template-columns:1fr;gap:14px}.rcell{padding:0;border-left:none}.app>header{flex-direction:column;align-items:flex-start;gap:10px}}
