/* * base.css - reset, typography, links, focus styles, skip link, generic * form elements and small utility classes. Loaded after tokens.css. */ * { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; box-sizing: border-box; font-family: var(--font-sans); letter-spacing: 0.02em; } ::-webkit-scrollbar { width: 11px; height: 11px; } ::-webkit-scrollbar-track { border-radius: 999px; background: var(--scroll-track); } ::-webkit-scrollbar-thumb { border-radius: 999px; border: 2px solid var(--scroll-track); background: linear-gradient(180deg, var(--scroll-thumb-a), var(--scroll-thumb-b)); } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, var(--scroll-thumb-hover-a), var(--scroll-thumb-hover-b)); } ::-webkit-scrollbar-corner { background: transparent; } html, body { min-height: 100%; margin: 0; color: var(--text); font-size: 14px; background: radial-gradient(circle at 15% 12%, var(--bg-glow-1), transparent 32%), radial-gradient(circle at 88% 2%, var(--bg-glow-2), transparent 30%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-0) 56%, var(--bg-deep) 100%); } body { line-height: 1.45; } a { color: var(--accent); } a:hover { color: var(--accent-hover); } h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; letter-spacing: 0.03em; } h1 { font-size: 1.72rem; } h2 { font-size: 1.35rem; } h3 { font-size: 1.2rem; } h4 { font-size: 1.05rem; } h5 { font-size: 0.92rem; margin: 8px 0; color: var(--text-muted); } p { margin: 0; padding: 0; } pre { margin: 0; color: var(--text-muted); font-size: 12px; white-space: pre-wrap; line-height: 1.55; letter-spacing: 0.015em; font-family: var(--font-mono); } hr { border: 0; height: 1px; margin: 12px 0; background: linear-gradient(90deg, transparent, var(--line), transparent); } label { margin-bottom: 8px; display: block; } li { list-style-type: none; cursor: pointer; transition: all 0.25s ease; } select, input, textarea, button { outline: none; color: var(--text); font-size: 13px; } :focus-visible { outline: 2px solid var(--focus-ring-soft); outline-offset: 2px; } input, select { margin: 4px 0; } input[type=text], input[type=search], input[type=password], input[type=number], select, textarea { width: 100%; border-radius: var(--radius-s); border: 1px solid var(--line); background-color: var(--surface-input); color: var(--text); padding: 10px 11px; transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; } input[type=text]:focus, input[type=search]:focus, input[type=password]:focus, input[type=number]:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); background-color: var(--surface-input-focus); } input[type=text]::placeholder, input[type=search]::placeholder, input[type=password]::placeholder, textarea::placeholder { color: var(--text-placeholder); } input[type=button]:focus-visible, input[type=submit]:focus-visible, button:focus-visible, input[type=checkbox]:focus-visible, a:focus-visible, select:focus-visible, textarea:focus-visible, input[type=text]:focus-visible, input[type=search]:focus-visible, input[type=password]:focus-visible, input[type=number]:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; } .skip-link { position: absolute; top: 10px; left: 10px; z-index: 2600; border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 700; color: var(--text-on-accent); background: var(--accent-gradient); transform: translateY(-180%); transition: transform 0.2s ease; } .skip-link:focus-visible { transform: translateY(0); } .sr-only { border: 0 !important; clip: rect(0 0 0 0) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; white-space: nowrap !important; width: 1px !important; } /* Utility classes */ .pointer { cursor: pointer; } .pointer:hover { color: var(--accent); } .sortThis { color: var(--accent); } .w40px { max-width: 40px; } .w50px { max-width: 50px; } .w80px { max-width: 80px; } .w150px { max-width: 150px; } .w200px { max-width: 200px; min-width: 100px; width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .w220px { max-width: 220px; cursor: alias; } .w300px { max-width: 300px; } .footer { font-size: 11px; } .center { text-align: center; } .floatRight { float: right; } .floatLeft { float: left; } .borderSpace { margin-bottom: 30px; } .block { display: block; } .none { display: none; } .showBulk { display: inline-flex; } .hideBulk { display: none; } .notVisible { display: none; opacity: 0; height: 0; } .visible { display: block; opacity: 1; } .half { width: 45%; } .tableEllipsis { width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes popupIn { 0% { opacity: 0; transform: translateY(7px) scale(0.99); } 100% { opacity: 1; transform: translateY(0) scale(1); } }