/* --- Variables & System Logic --- */ :root { color-scheme: light dark; /* Light Mode Palette */ --bg: #ffffff; --fg: #1a1a1a; --accent: #0000ff; /* Classic HTML blue */ --border: #000000; --code-bg: #f4f4f4; --meta: #666666; --max-width: 800px; } @media (prefers-color-scheme: dark) { :root { --bg: #0d0d0d; --fg: #e0e0e0; --accent: #4dabff; --border: #333333; --code-bg: #1a1a1a; --meta: #999999; } } /* --- Layout Architecture --- */ * { box-sizing: border-box; } body { background: var(--bg); color: var(--fg); font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace; line-height: 1.6; max-width: var(--max-width); margin: 0 auto; padding: 2rem 1rem; text-rendering: optimizeLegibility; } /* --- Navigation & Footer --- */ nav ul { list-style: none; padding: 0; display: flex; gap: 1rem; border-bottom: 4px solid var(--fg); padding-bottom: 0.5rem; } nav a { text-transform: uppercase; font-weight: 900; text-decoration: none; } nav a:hover { background: var(--fg); color: var(--bg); } footer { margin-top: 4rem; border-top: 1px solid var(--border); padding-top: 1rem; font-size: 0.8rem; text-transform: uppercase; } /* --- Typography (Brutalist) --- */ h1, h2, h3 { line-height: 1.1; margin-top: 2rem; font-weight: 900; text-transform: uppercase; } h1 { font-size: 2.2rem; margin-bottom: 1rem; } h2 { border-left: 10px solid var(--accent); padding-left: 0.75rem; } a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; } a:hover { background: var(--accent); color: var(--bg); text-decoration: none; } /* --- Weblorg / Template Specifics --- */ section b { display: block; font-size: 0.7rem; text-transform: uppercase; color: var(--meta); margin-top: 0.5rem; } .post { display: flex; justify-content: space-between; border-bottom: 1px dashed var(--border); padding: 0.5rem 0; } .post time { font-size: 0.8rem; color: var(--meta); } /* --- Org-Mode Tables (Heavy Grid) --- */ table { width: 100%; border-collapse: collapse; margin: 2rem 0; border: 3px solid var(--fg); } th, td { border: 1px solid var(--fg); padding: 0.75rem; text-align: left; } th { background: var(--fg); color: var(--bg); text-transform: uppercase; font-size: 0.8rem; } /* --- Code & Pre blocks --- */ pre { padding: 1rem; border: 1px solid var(--border); background: var(--code-bg); overflow-x: auto; } code { background: var(--code-bg); padding: 0.2rem 0.4rem; } /* --- Accessibility & Efficiency --- */ img { max-width: 100%; height: auto; filter: grayscale(1); } img:hover { filter: grayscale(0); } /* --- Accessibility: Skip Link --- */ .skip-link { position: absolute; top: -100px; /* Hide off-screen */ left: 50%; transform: translateX(-50%); background: var(--fg); color: var(--bg); padding: 1rem 2rem; z-index: 999; font-weight: 900; text-transform: uppercase; border: 3px solid var(--accent); text-decoration: none; transition: top 0.2s ease-in-out; } /* Show the link when a user tabs to it */ .skip-link:focus { top: 0; outline: none; /* We use the border and color change as the indicator */ } /* Ensure the main area doesn't show a blue ring when focused via skip-link */ #main-content:focus { outline: none; } /* --- Footnote Alignment --- */ .footdef { display: flex; align-items: flex-start; /* Keeps number at the top if text wraps */ gap: 1rem; /* Space between number and text */ margin-bottom: 0.5rem; } /* Ensure the paragraph doesn't add its own block margins */ .footpara { margin: 0; flex: 1; display: flex; flex-direction: column; gap: 0.5rem; } /* Style the footnote number to be a fixed width for alignment */ .footnum { font-weight: bold; min-width: 1.5rem; text-align: right; text-decoration: none; font-size: 0.85rem; color: var(--accent); } @media (max-width: 600px) { body { padding: 1rem; } .post { flex-direction: column; } }