*, *::before, *::after {margin:0;padding:0;box-sizing:border-box;}html {font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden;height:100%;width:100%;}body {font-family:var(--font-ui);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-primary);overflow:hidden;height:100vh;height:100dvh;width:100vw;user-select:none;-webkit-user-select:none;cursor:default;}h1, h2, h3, h4, h5, h6 {font-family:var(--font-ui);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text-bright);}h1 { font-size:var(--fs-3xl); }h2 { font-size:var(--fs-2xl); }h3 { font-size:var(--fs-xl); }h4 { font-size:var(--fs-lg); }h5 { font-size:var(--fs-md); }h6 { font-size:var(--fs-base); }p {margin-bottom:var(--space-3);color:var(--text-secondary);line-height:var(--lh-relaxed);}a {color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast);}a:hover {color:var(--accent-info);text-decoration:underline;}code, pre, .mono {font-family:var(--font-mono);}code {background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-size:0.9em;color:var(--accent-primary);}::-webkit-scrollbar {width:8px;height:8px;}::-webkit-scrollbar-track {background:var(--bg-secondary);border-radius:var(--radius-sm);}::-webkit-scrollbar-thumb {background:var(--bg-surface);border-radius:var(--radius-sm);border:2px solid var(--bg-secondary);}::-webkit-scrollbar-thumb:hover {background:var(--bg-elevated);}* {scrollbar-width:thin;scrollbar-color:var(--bg-surface) var(--bg-secondary);}::selection {background:var(--accent-primary);color:var(--text-inverse);}.text-primary { color:var(--text-primary); }.text-secondary { color:var(--text-secondary); }.text-muted { color:var(--text-muted); }.text-bright { color:var(--text-bright); }.text-accent { color:var(--accent-primary); }.text-green { color:var(--accent-secondary); }.text-purple { color:var(--accent-tertiary); }.text-warning { color:var(--accent-warning); }.text-danger { color:var(--accent-danger); }.text-info { color:var(--accent-info); }.font-mono { font-family:var(--font-mono); }.font-bold { font-weight:var(--fw-bold); }.font-semibold { font-weight:var(--fw-semibold); }.truncate {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;}.glass {background:rgba(36, 40, 59, 0.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);}.glass-heavy {background:rgba(36, 40, 59, 0.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-light);}button {font-family:inherit;font-size:inherit;border:none;background:none;color:inherit;cursor:pointer;outline:none;}button:focus-visible {outline:2px solid var(--accent-primary);outline-offset:2px;}input, textarea, select {font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);outline:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);}input:focus, textarea:focus, select:focus {border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--glow-primary);}img, svg {display:block;max-width:100%;}ul, ol {list-style:none;}