/** * @fileoverview Base Styles for Rantii * @author retoor * @description Reset and foundational styles * @keywords css, base, reset, foundation, styles */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 16px; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; } body { font-family: var(--font-family); font-size: var(--font-size-md); line-height: 1.5; color: var(--color-text); background-color: var(--color-bg); min-height: 100vh; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body.nav-open { overflow: hidden; } a { color: var(--color-link); text-decoration: none; transition: color var(--transition-fast); } a:hover { text-decoration: underline; } img, video { max-width: 100%; height: auto; display: block; } button, input, textarea, select { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; } button { cursor: pointer; background: none; border: none; } button:disabled { cursor: not-allowed; opacity: 0.6; } input, textarea { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--spacing-sm) var(--spacing-md); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); } input:focus, textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.2); } textarea { resize: vertical; min-height: 80px; } ul, ol { list-style: none; } h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; } h1 { font-size: var(--font-size-3xl); } h2 { font-size: var(--font-size-2xl); } h3 { font-size: var(--font-size-xl); } h4 { font-size: var(--font-size-lg); } code, pre { font-family: var(--font-mono); font-size: var(--font-size-sm); } code { background-color: var(--color-code-bg); padding: 0.125em 0.375em; border-radius: var(--radius-sm); } pre { background-color: var(--color-code-bg); padding: var(--spacing-md); border-radius: var(--radius-md); overflow-x: auto; } pre code { background: none; padding: 0; } ::selection { background-color: var(--color-primary); color: white; } ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--color-bg-secondary); } ::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--color-text-muted); } .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-lg); border-radius: var(--radius-md); font-weight: 500; transition: all var(--transition-fast); } .btn-primary { background-color: var(--color-primary); color: white; } .btn-primary:hover { background-color: var(--color-primary-hover); } .btn-secondary { background-color: var(--color-secondary); color: var(--color-text); } .btn-secondary:hover { background-color: var(--color-surface-hover); } .btn-danger { background-color: var(--color-error); color: white; } .btn-danger:hover { opacity: 0.9; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } [hidden] { display: none !important; } .app-main { margin-top: var(--header-height); min-height: calc(100vh - var(--header-height)); padding: var(--spacing-md); } @media (min-width: 769px) { .app-main { margin-left: var(--nav-width); padding: var(--spacing-lg); } } .page { max-width: var(--max-content-width); margin: 0 auto; }