:root{--color-primary:#b45309;--color-primary-dark:#92400e;--color-success:#2e7d32;--color-warning:#f57c00;--color-danger:#c62828;--color-danger-tint:color-mix(in srgb, var(--color-danger) 10%, transparent);--color-neutral:#757575;--color-bg:#f5f2ed;--color-border:#e3e0da;--color-border-strong:#d2cec7;--color-text:#212121;--color-text-muted:#666;--color-surface:#fff;--color-surface-muted:#edeae3;--color-backdrop:#0006;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading:var(--font-body);--font-mono:ui-monospace, monospace;--text-xs:.7rem;--text-sm:.8rem;--text-base:.9rem;--text-lg:1.25rem;--text-xl:1.6rem;--radius-sm:.25rem;--radius-pill:999px;--pill-padding:.15rem .6rem;--pill-radius:var(--radius-pill);--pill-font-size:var(--text-sm);--button-disabled-opacity:.6;--button-primary-bg:var(--color-primary);--button-primary-border:var(--color-primary);--button-primary-text:var(--color-surface);--button-primary-bg-hover:var(--color-primary-dark);--button-primary-border-hover:var(--color-primary);--button-primary-text-hover:var(--color-surface);--button-secondary-bg:var(--color-bg);--button-secondary-border:var(--color-border);--button-secondary-text:var(--color-text);--button-secondary-bg-hover:var(--color-surface);--button-secondary-border-hover:var(--color-text);--button-danger-bg:var(--color-bg);--button-danger-border:var(--color-danger);--button-danger-text:var(--color-danger);--button-danger-bg-hover:var(--color-danger);--button-danger-text-hover:var(--color-surface);--input-padding:var(--space-sm);--input-radius:var(--radius-sm);--input-border:var(--color-border);--input-border-hover:var(--color-border-strong);--input-border-focus:var(--color-primary);--input-focus-ring:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);--input-disabled-bg:var(--color-bg);--card-bg:var(--color-surface);--card-border:var(--color-border);--card-radius:var(--radius-sm);--card-padding:var(--space-sm);--card-padding-lg:var(--space-md);--shadow-sm:0 1px 2px #2d28221a;--shadow-md:0 2px 6px #2d28221f, 0 1px 2px #2d282214;--transition-fast:.15s ease}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);margin:0}h1,h2,h3{font-family:var(--font-heading)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}.error-banner{align-items:flex-start;gap:var(--space-sm);border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;color:var(--color-danger);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);flex:100%;display:flex}.error-banner details{flex:auto;min-width:0}.error-banner summary{color:var(--color-danger);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.error-banner-body{margin-top:var(--space-xs);white-space:pre-wrap;overflow-wrap:anywhere}.error-banner-dismiss{color:var(--color-danger);font-size:var(--text-lg);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.error-notification{z-index:200;padding:var(--space-sm) var(--space-md);pointer-events:none;position:fixed;top:0;left:0;right:0}.error-notification .error-banner{max-width:60rem;box-shadow:var(--shadow-md);pointer-events:auto;margin:0 auto}.app-nav{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border-strong);display:flex}.app-nav-links{align-items:center;gap:var(--space-md);display:flex}.app-nav-account{align-items:center;display:flex}.app-nav a{color:var(--color-primary);text-underline-offset:4px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.app-nav a:hover{color:var(--color-primary-dark)}.app-nav a.active{color:var(--color-text);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);font-weight:700;text-decoration-thickness:2px}.app-nav-brand{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);font-weight:700}.app-main{max-width:1200px;padding:0 var(--space-lg) var(--space-lg);margin:0 auto}.app-main h1{border-bottom:1px solid var(--color-border-strong);padding-bottom:var(--space-xs)}.app-main a{color:var(--color-primary)}.button{font:inherit;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast)}.button-secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.button-secondary:hover:not(:disabled){background:var(--button-secondary-bg-hover);border-color:var(--button-secondary-border-hover)}.button-primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text)}.button-primary:hover:not(:disabled){background:var(--button-primary-bg-hover);border-color:var(--button-primary-border-hover);color:var(--button-primary-text-hover)}.button-danger{background:var(--button-danger-bg);border-color:var(--button-danger-border);color:var(--button-danger-text)}.button-danger:hover:not(:disabled){background:var(--button-danger-bg-hover);color:var(--button-danger-text-hover)}.button-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000;padding:0}.button-ghost:hover:not(:disabled){border-color:var(--color-text);color:var(--color-text);background:0 0}.button:disabled{opacity:var(--button-disabled-opacity);cursor:default}.button:active:not(:disabled){transform:scale(.97)}.button-pill{font-size:var(--pill-font-size);padding:var(--pill-padding);border-radius:var(--pill-radius);line-height:1}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite spinner-rotate;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--color-border);padding:var(--space-sm);text-align:left}.table th{background:var(--color-surface-muted);font-weight:600}.table thead th{border-bottom:1px solid var(--color-border-strong)}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover:not(.trace-row-selected){background:var(--color-surface-muted)}.badge{padding:var(--pill-padding);border-radius:var(--pill-radius);color:var(--color-surface);font-size:var(--pill-font-size);line-height:1;display:inline-block}.badge-success{background:var(--color-success)}.badge-warning{background:var(--color-warning)}.badge-danger{background:var(--color-danger)}.badge-neutral{background:var(--color-neutral)}.input{font:inherit;padding:var(--input-padding);border:1px solid var(--input-border);border-radius:var(--input-radius);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.input:hover:not(:disabled):not(:focus){border-color:var(--input-border-hover)}.input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-focus-ring);outline:none}.input:disabled{background:var(--input-disabled-bg)}.key-create-form{align-items:center;gap:.5rem;margin:1rem 0;display:flex}.key-create-form input{flex:0 20rem}.key-create-error{color:var(--color-danger);font-size:var(--text-sm)}.key-revoke-error{color:var(--color-danger);font-size:var(--text-sm);margin:.5rem 0}.key-modal-backdrop{background:var(--color-backdrop);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.key-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-md);width:min(40rem,92vw);max-width:40rem;max-height:90vh;overflow-y:auto}.key-modal h2{font-size:var(--text-base);margin-top:0}.key-reveal-row{margin-bottom:var(--space-sm);align-items:center;gap:.75rem;display:flex}.key-reveal-value{font-size:var(--text-sm);font-family:var(--font-mono);word-break:break-all}.key-snippet h3{font-size:var(--text-sm);margin-bottom:var(--space-xs)}.key-snippet pre{padding:var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);margin:0}.key-snippet code{font-size:var(--text-sm);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all}.key-snippet-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-xs) 0 var(--space-md)}.key-setup-details summary{cursor:pointer;color:var(--color-text-muted);margin:var(--space-md) 0}.keys-table th:last-child,.keys-table td:last-child{text-align:right}.auth-layout{min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-md);width:min(20rem,100%);padding:var(--card-padding-lg);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.auth-card h1{font-size:var(--text-lg);margin:0}.auth-brand{justify-content:center;align-items:center;gap:var(--space-sm);display:flex}.auth-brand-name{font-size:var(--text-lg)}.auth-form{gap:var(--space-sm);flex-direction:column;display:flex}.auth-form label{font-size:var(--text-sm);color:var(--color-text-muted)}.auth-error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.auth-note,.auth-footer{font-size:var(--text-sm);margin:0}.auth-footer a{color:var(--color-text-muted)}.back-link{margin-bottom:1rem}.prompt-block{white-space:pre-wrap;padding:var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);margin:0}.trace-id{color:var(--color-text-muted);margin-top:0}.trace-section{margin-bottom:2rem}.trace-section-primary{padding:var(--space-sm) var(--space-md) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.trace-header{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.trace-stats-table{margin-bottom:var(--space-sm)}.phase-bar{background:var(--color-border-strong);border-radius:var(--radius-sm);width:100%;height:2rem;margin-bottom:var(--space-sm);position:relative;overflow:hidden}.phase-segment{color:var(--color-surface);font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.prompt-details summary{cursor:pointer;white-space:pre-wrap;overflow-wrap:break-word}.timeline{padding-left:0;list-style:none}.timeline li{font-family:var(--font-mono);font-size:var(--text-base);margin-bottom:var(--space-xs);word-break:break-word}.timeline-item{margin-bottom:var(--space-sm);padding-left:calc(var(--timeline-indent,0) * var(--space-md));align-items:stretch;display:flex}.timeline li.timeline-group-header{margin-top:var(--space-sm);margin-bottom:var(--space-xs);color:var(--color-text-muted);padding-left:calc(var(--timeline-indent,0) * var(--space-md));font-weight:600}.timeline li.timeline-item-contiguous{margin-bottom:0}.timeline-body{flex:auto;min-width:0}.problem-row{align-items:flex-start;gap:var(--space-xs);display:flex}.problem-markers{align-items:center;gap:var(--space-xs);padding-top:var(--space-xs);flex-direction:row;display:flex}.problem-action{flex:auto;min-width:0}.timeline-banner{gap:var(--space-xs);border-left:var(--space-xs) solid;padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-base);flex-direction:column;display:flex}.timeline-banner strong{font-weight:700}.problem-marker{width:var(--space-sm);height:var(--space-sm);border-radius:50%}.problem-nav{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.problem-nav-item{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);text-align:left;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;display:flex}.problem-nav-item:hover{color:var(--color-primary)}@keyframes timeline-step-highlight-ring{0%{box-shadow:var(--input-focus-ring)}to{box-shadow:none}}.timeline-step-highlight{animation:1.5s ease-out timeline-step-highlight-ring}.phase-boundary{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.phase-boundary strong{font-size:var(--text-lg);font-weight:700}.phase-boundary span{color:var(--color-text-muted);font-size:var(--text-sm)}.timeline summary{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.timeline summary .timeline-type{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.timeline summary .timeline-metrics{color:var(--color-text-muted)}.timeline summary.timeline-summary-failed{border-left:var(--space-xs) solid var(--color-danger);background:var(--color-danger-tint);padding:var(--space-xs) 0 var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.timeline-detail{margin-top:var(--space-xs);color:var(--color-text-muted);white-space:pre-wrap;padding-left:var(--space-md)}.timeline-detail pre{white-space:pre-wrap;margin:var(--space-xs) 0}.timeline-error{color:var(--color-danger);font-size:var(--text-base)}.visual-summary-badges{gap:var(--space-sm);display:flex}.visual-summary-metrics{gap:var(--space-lg);flex-wrap:wrap;display:flex}.metric{flex-direction:column;display:flex}.metric-value{font-size:var(--text-xl);font-weight:700}.metric-label{color:var(--color-text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em}.trace-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.attr-filter{gap:var(--space-sm);margin:0 0 var(--space-md);align-items:center;display:flex}.overview-list{width:100%}.overview-layout{gap:var(--space-sm);display:flex}.pagination{gap:var(--space-sm);margin-top:var(--space-md);align-items:center;display:flex}.trace-detail-pane{display:none}.trace-detail-pane--open{width:min(45rem,92vw);padding:var(--space-lg) var(--space-md);border-left:1px solid var(--color-border);background:var(--color-surface);z-index:100;box-shadow:var(--shadow-md);display:block;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.trace-detail-pane-close{z-index:101;width:2rem;height:2rem;line-height:1;font-size:var(--text-lg);border-radius:var(--radius-pill);position:absolute;top:.5rem;right:.5rem}.trace-select-cell{text-align:center;vertical-align:middle;width:2.5rem}.trace-row-selected{background:var(--color-surface)}.trace-link-selected{font-weight:700}.trace-active-dot{background:var(--color-primary);vertical-align:middle;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}
