*,: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)}.ds-button{transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);display:inline-flex!important}.ds-button svg{width:1em;height:1em}.ds-button-icon svg{width:1em;height:1em;display:block}.ds-button--primary:hover:not(:disabled){background:var(--button-primary-bg-hover)!important;border-color:var(--button-primary-border-hover)!important;color:var(--button-primary-text-hover)!important}.ds-button--secondary:hover:not(:disabled){background:var(--button-secondary-bg-hover)!important;border-color:var(--button-secondary-border-hover)!important}.ds-button--danger:hover:not(:disabled){background:var(--button-danger-bg-hover)!important;color:var(--button-danger-text-hover)!important}.ds-button--ghost:hover:not(:disabled){border-color:var(--color-text)!important;color:var(--color-text)!important;background:0 0!important}.ds-button-icon:hover:not(:disabled){background:var(--color-surface-muted)!important;color:var(--color-text)!important;border-color:#0000!important}.ds-button:disabled{cursor:default;opacity:var(--button-disabled-opacity)!important}.ds-button:active:not(:disabled){transform:scale(.97)}.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-flex}@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)}.chart-range-selector{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.chart-panel{margin-bottom:var(--space-lg)}.chart-panel h3{margin:0 0 var(--space-sm) 0;font-size:var(--text-base)}.chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-sm);font-size:var(--text-sm)}.chart-tooltip-time{margin-bottom:var(--space-xs);font-weight:600}.chart-tooltip-row{align-items:center;gap:var(--space-sm);display:flex}.chart-tooltip-swatch{border-radius:var(--radius-sm);flex:none;width:.6rem;height:.6rem}.chart-tooltip-value{font-variant-numeric:tabular-nums;margin-left:auto}.badge{padding:var(--pill-padding);border-radius:var(--pill-radius);font-size:var(--pill-font-size);font-variant-numeric:tabular-nums;align-items:center;line-height:1;display:inline-flex}.badge-success{color:var(--color-success);background:var(--color-success-tint)}.badge-warning{color:var(--color-warning);background:var(--color-warning-tint)}.badge-danger{color:var(--color-danger);background:var(--color-danger-tint)}.badge-neutral{color:var(--color-text);background:var(--color-surface-muted)}.keys-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.keys-empty{padding:var(--space-lg) var(--space-md);color:var(--color-text-muted)}.keys-empty-actions{align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.key-create-error{color:var(--color-danger);font-size:var(--text-sm)}.keys-empty-actions .key-create-error{margin:0}.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{color:var(--color-text);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-surface-muted);border:1px solid var(--color-border);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-method-tab-row{gap:var(--space-xs);padding:var(--space-xs);margin-bottom:var(--space-sm);background:var(--color-surface-muted);border-radius:var(--radius-sm);display:flex}.key-method-tab{cursor:pointer;font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:1px solid #0000}.key-method-tab:hover{color:var(--color-text)}.key-method-tab.is-active{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary)}.key-setup-details summary,.key-modal-details summary{cursor:pointer;color:var(--color-text);list-style:none}.key-setup-details summary{margin:var(--space-md) 0}.key-modal-details summary{margin:var(--space-sm) 0}.key-setup-details summary:before,.key-modal-details summary:before{content:"▸";margin-right:var(--space-xs)}.key-setup-details summary::-webkit-details-marker{display:none}.key-modal-details summary::-webkit-details-marker{display:none}.key-setup-details summary:hover,.key-modal-details summary:hover{text-decoration:underline}.key-setup-details[open] summary:before,.key-modal-details[open] summary:before{content:"▾"}.key-modal-shown-once{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-sm)}.key-modal-footer{margin-top:var(--space-md);justify-content:flex-end;display:flex}.keys-table th:last-child,.keys-table td:last-child{text-align:right}.ds-input{transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.ds-input:hover:not(:disabled):not(:focus){border-color:var(--input-border-hover)!important}.ds-input:focus{outline:none;border-color:var(--input-border-focus)!important;box-shadow:var(--input-focus-ring)!important}.ds-input:disabled{background:var(--input-disabled-bg)!important}.auth-layout h1{font-size:var(--text-lg);margin:0}.auth-form{gap:var(--space-sm);flex-direction:column;display:flex}.auth-error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.auth-note{font-size:var(--text-sm);margin:0}.auth-footer{font-size:var(--text-base);text-align:center;margin:0}.auth-footer a{color:var(--color-primary)}.side-pane{display:none}.side-pane--open{width:min(45rem,92vw);padding:calc(var(--space-lg) + var(--space-sm) + var(--space-xs)) var(--space-md);border-left:1px solid var(--color-border);background:var(--color-surface);z-index:100;box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.side-pane-close{top:var(--space-sm);right:var(--space-md);z-index:101;position:absolute}.cross-analysis-pane{z-index:110}.cross-analysis-header{gap:var(--space-sm);margin-bottom:var(--space-sm);align-items:center;display:flex}.cross-analysis-header h2{font-size:var(--text-lg);margin:0}.cross-analysis-trace-count{color:var(--color-text-muted);font-size:var(--text-sm)}.cross-analysis-error{color:var(--color-danger)}.cross-analysis-note{color:var(--color-text-muted);margin:0 0 var(--space-sm)}.cross-analysis-table{font-size:var(--text-sm)}.cross-analysis-table th,.cross-analysis-table td{padding:var(--space-xs) var(--space-sm)}.cross-analysis-table tbody tr:hover:not(.trace-row-selected),.cross-analysis-instance-table tbody tr:hover:not(.trace-row-selected){background:0 0}.cross-analysis-tag-toggle:hover{color:var(--color-primary)}.cross-analysis-count-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cross-analysis-tag-cell{max-width:12rem}.cross-analysis-tag-toggle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;display:block;overflow:hidden}.cross-analysis-toggle-marker{color:var(--color-primary);margin-right:var(--space-xs)}.cross-analysis-descriptions{margin:0 0 var(--space-sm);padding:0 0 var(--space-xs);list-style:none}.cross-analysis-descriptions li{overflow-wrap:anywhere}.cross-analysis-detail-row td{padding-bottom:var(--space-sm)}.cross-analysis-instance-table{font-size:var(--text-sm)}.cross-analysis-instance-table th,.cross-analysis-instance-table td{padding:var(--space-xs) var(--space-sm)}.cross-analysis-instance-trace a{font-family:var(--font-mono);color:var(--color-text);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:4px}.cross-analysis-instance-trace a:hover{color:var(--color-primary)}.cross-analysis-impact-low,.cross-analysis-impact-mid{color:var(--color-text-muted)}.cross-analysis-impact-high{color:var(--color-warning)}.cross-analysis-impact-critical{color:var(--color-danger)}.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);word-break:break-word;min-width:0;margin: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-header-row{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;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-text);font-size:var(--text-xs);white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}[data-theme=dark] .phase-segment{color:var(--color-surface)}.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-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,.trace-section-header{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.report-form{gap:var(--space-sm);flex-direction:column;display:flex}.report-form-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.modal-backdrop{z-index:100;background:var(--color-backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--shadow-md);padding:var(--card-padding-lg);width:min(var(--modal-viewport-width), var(--modal-max-width));max-height:var(--modal-max-height);overflow-y:auto}.modal h2{font-size:var(--text-base);margin-top:0}.attr-filter{gap:var(--space-sm);margin:0 0 var(--space-md);align-items:center;display:flex}.overview-list{width:100%}.overview-empty{padding:var(--space-lg) var(--space-md);color:var(--color-text-muted)}.overview-empty-actions{align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.overview-empty-actions .key-create-error{margin:0}.overview-layout{gap:var(--space-sm);display:flex}.pagination{gap:var(--space-sm);margin-top:var(--space-md);align-items:center;display:flex}.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,.trace-new-dot{background:var(--color-primary);vertical-align:middle;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-flex}
