* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
align-items: center;
display: flex;
flex-direction: column;
}
.container, header {
width: 80%;
}
.header {
background: linear-gradient(135deg, var(--accent-red) 0%, #4b134f 100%);
padding: var(--space-2xl);
border-radius: var(--border-radius-lg);
margin-bottom: var(--space-2xl);
box-shadow: var(--shadow-md);
}
.header h1 {
font-size: 2.5rem;
margin-bottom: var(--space-sm);
color: var(--text-white);
text-shadow: var(--text-shadow);
}
.error-type, .badge, .level {
display: inline-block;
border-radius: var(--border-radius-md);
font-weight: bold;
}
.error-type, .badge {
padding: var(--space-xs) var(--space-md);
}
.error-type {
background: rgba(255,255,255,0.2);
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: var(--space-lg);
}
.badge {
font-size: 0.85rem;
font-weight: 500;
}
.timestamp, .stack-frame .location {
opacity: 0.8;
font-size: 0.9rem;
}
.section, .stack-frame {
background: var(--bg-secondary);
border-radius: var(--border-radius-lg);
margin-bottom: var(--space-xl);
}
.section {
padding: var(--space-xl);
border-left: 4px solid var(--accent-red);
}
.section h2 {
color: var(--accent-pink);
margin-bottom: var(--space-lg);
font-size: 1.5rem;
display: flex;
align-items: center;
gap: var(--space-sm);
}
.section h3 {
color: var(--accent-orange);
margin: var(--space-lg) 0 var(--space-sm) 0;
font-size: 1.2rem;
}
.message-box, .stack-frame, .info-box, .info-card {
background: var(--bg-primary);
border-left: 3px solid var(--accent-orange);
margin: var(--space-sm) 0;
border-radius: var(--border-radius-md);
}
.message-box, .stack-trace, .info-box, .code-block {
padding: var(--space-lg);
overflow-x: auto;
}
.message-box, .code-block, pre.debug-repr, pre.debug-frame {
font-family: 'Courier New', monospace;
white-space: pre-wrap;
word-wrap: break-word;
}
.stack-frame {
padding: var(--space-md);
border-left-color: var(--accent-green);
}
.stack-frame:first-child {
border-left-color: var(--accent-pink);
background: var(--bg-error);
}
.stack-frame:first-child strong {
color: var(--accent-pink);
}
.stack-frame .level {
background: var(--accent-green);
color: var(--bg-primary);
padding: var(--space-xs) var(--space-sm);
font-size: 0.8rem;
margin-right: var(--space-sm);
}
.stack-frame strong {
color: var(--accent-orange);
}
.stack-frame .location {
margin-top: var(--space-sm);
}
.debug-summary, summary {
cursor: pointer;
user-select: none;
color: var(--accent-magenta);
}
.debug-summary {
font-size: 0.85rem;
margin-top: 0.4rem;
color: var(--accent-purple);
}
.debug-summary:hover, summary:hover {
opacity: 0.8;
}
.debug-summary:hover {
color: var(--accent-magenta);
}
.info-box, .info-card {
border-left-color: var(--accent-blue);
padding: var(--space-lg);
}
.info-box {
margin-top: var(--space-lg);
}
.info-box strong {
color: var(--accent-blue);
}
.code-block {
font-size: 0.9rem;
}
.code-block .line-number {
color: var(--text-dark);
margin-right: var(--space-lg);
user-select: none;
}
.code-block .highlight {
background: rgba(255, 107, 107, 0.2);
display: block;
}
pre.debug-repr, pre.debug-frame {
border-radius: var(--border-radius-md);
margin-top: var(--space-sm);
}
pre.debug-repr {
background: var(--bg-tertiary);
border: 1px solid var(--accent-magenta);
padding: var(--space-lg);
color: var(--text-light);
}
pre.debug-frame {
background: var(--bg-dark);
border: 1px solid #44475a;
border-radius: var(--border-radius-sm);
padding: 0.6rem 0.8rem;
margin-top: 0.3rem;
color: var(--accent-violet);
font-size: 0.85rem;
}
.info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--space-lg);
margin: var(--space-lg) 0;
}
.info-card .label {
color: var(--text-muted);
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: var(--space-xs);
}
.info-card .value {
color: var(--text-primary);
font-size: 1.1rem;
font-weight: 500;
}
.headers-table {
width: 100%;
border-collapse: collapse;
margin: var(--space-lg) 0;
}
.headers-table th,
.headers-table td {
padding: var(--space-md);
text-align: left;
border-bottom: 1px solid #3a3a3a;
}
.headers-table th {
background: var(--bg-primary);
color: var(--accent-orange);
font-weight: 600;
}
.headers-table tr:hover {
background: var(--bg-primary);
}
.badge-success {
background: rgba(81, 207, 102, 0.2);
color: var(--accent-green);
}
.badge-warning {
background: rgba(255, 169, 77, 0.2);
color: var(--accent-orange);
}
.badge-error {
background: rgba(255, 107, 107, 0.2);
}
.template-list {
display: flex;
flex-wrap: wrap;
gap: var(--space-sm);
margin: var(--space-lg) 0;
}
.template-tag, .template-tag.current {
background: var(--bg-primary);
padding: var(--space-sm) var(--space-lg);
border-radius: var(--border-radius-md);
font-size: 0.9rem;
}
.template-tag {
border: 1px solid #3a3a3a;
}
.template-tag.current {
border-color: var(--accent-pink);
background: rgba(255, 107, 107, 0.1);
color: var(--accent-pink);
font-weight: 600;
}
.mb-1 {
margin-bottom: var(--space-lg);
}
summary {
font-weight: bold;
padding: var(--space-sm) 0;
}