diff options
| -rw-r--r-- | .github/workflows/deploy.yml | 4 | ||||
| -rw-r--r-- | .gitignore | 8 | ||||
| -rw-r--r-- | static/css/app.css | 37 | ||||
| -rw-r--r-- | svelte.config.js | 7 |
4 files changed, 2 insertions, 54 deletions
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c8e6671..5a5e234 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -41,10 +41,6 @@ jobs: env: BASE_PATH: /${{ github.event.repository.name }} - # Pages must be enabled once in Settings → Pages with Source set to - # "GitHub Actions". The workflow's GITHUB_TOKEN can't provision the - # site itself (creating a Pages site is administration-scoped, beyond - # the `pages: write` permission this workflow holds). - uses: actions/configure-pages@v5 - uses: actions/upload-pages-artifact@v3 @@ -1,18 +1,14 @@ -# Dependencies node_modules/ -# Build output .svelte-kit/ build/ dist/ built/ -# Local environment .env .env.local .env.*.local -# Editor / OS .vscode/ .idea/ .DS_Store @@ -20,19 +16,15 @@ Thumbs.db *.swp *.swo -# Logs *.log npm-debug.log* pnpm-debug.log* -# Claude AI .claude/ -# Test output coverage/ .nyc_output/ -# Cache .vite/ .turbo/ .cache/ diff --git a/static/css/app.css b/static/css/app.css index 6ea23f1..57859a4 100644 --- a/static/css/app.css +++ b/static/css/app.css @@ -1,26 +1,15 @@ -/* --------------------------------------------------------------------------- - * Hollowdark — global styles and design tokens - * - * Component styles live in scoped <style> blocks per ui/00-ui-principles.md - * and rules/01-code-style.md. This file is the only place for reset, root - * tokens, scrollbar styling, no-select, and base typography. - * ------------------------------------------------------------------------ */ - :root { - /* Colors — dark mode default */ --color-bg: #13100e; --color-text: #e5dfd3; --color-text-secondary: #8a8275; --color-text-tertiary: #5c564c; --color-accent: #b8884a; - --color-accent-warm: #c47a2e; /* crisis mode */ + --color-accent-warm: #c47a2e; - /* Fonts */ --font-body: 'Literata', 'Source Serif Pro', Georgia, serif; --font-ui: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif; --font-memoir: 'Crimson Pro', 'Source Serif Pro', Georgia, serif; - /* Spacing (8pt grid) */ --space-1: 4px; --space-2: 8px; --space-3: 12px; @@ -29,7 +18,6 @@ --space-8: 32px; --space-12: 48px; - /* Type scale */ --text-xs: 11px; --text-sm: 13px; --text-base: 16px; @@ -37,25 +25,21 @@ --text-lg: 21px; --text-xl: 28px; - /* Line height */ --leading-tight: 1.4; --leading-normal: 1.6; --leading-loose: 1.75; - /* Timing */ --transition-soft: 400ms ease-out; --transition-fast: 250ms ease-out; --transition-ceremonial: 600ms ease-out; } -/* Crisis-mode palette swap. Engaged via body.crisis-mode — see docs/22-crisis-mode.md */ body.crisis-mode { --color-bg: #0f0c0b; --color-text: #e5d8c3; --color-accent: var(--color-accent-warm); } -/* Reset */ *, *::before, *::after { @@ -74,7 +58,6 @@ body { line-height: var(--leading-normal); } -/* Smooth transitions on root colors so crisis-mode changes feel deliberate */ body { transition: background-color var(--transition-ceremonial), @@ -86,8 +69,6 @@ html { -webkit-text-size-adjust: 100%; } -/* Text is not selectable anywhere. This is a reading game, not a document. - * Exceptions use the .selectable class (rare — input fields in settings only). */ *, *::before, *::after { @@ -109,7 +90,6 @@ img { -webkit-user-select: text; } -/* Long-content areas scroll smoothly */ .scrollable { overflow-y: auto; scroll-behavior: smooth; @@ -117,7 +97,6 @@ img { overscroll-behavior: contain; } -/* Scrollbar styling — minimal, nearly invisible, slightly visible on hover */ ::-webkit-scrollbar { width: 6px; } @@ -141,12 +120,10 @@ img { } } -/* Base typography — paragraphs */ p { line-height: var(--leading-normal); } -/* Buttons carry no default chrome */ button { background: none; border: none; @@ -161,7 +138,6 @@ button:focus-visible { outline-offset: 2px; } -/* Respect reduced motion */ @media (prefers-reduced-motion: reduce) { *, *::before, @@ -173,17 +149,6 @@ button:focus-visible { } } -/* --------------------------------------------------------------------------- - * Font-face declarations - * - * Literata and Inter ship in static/fonts/ under the SIL Open Font License - * (see static/fonts/Literata.OFL.txt and Inter.OFL.txt). Inter's static - * distribution is optical-size-tiered; the 18pt variants are tuned for - * the 13–18px range our UI uses and are aliased here as the base "Inter". - * Crimson Pro (memoir body) is not yet sourced — the memoir view will add - * its @font-face block when the screen is built. - * ------------------------------------------------------------------------ */ - @font-face { font-family: 'Literata'; font-style: normal; diff --git a/svelte.config.js b/svelte.config.js index d681e92..9c9ccc0 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,9 +1,6 @@ import adapter from '@sveltejs/adapter-static' import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' -// GitHub Pages serves the project at https://<user>.github.io/<repo>/. -// BASE_PATH is set by the deploy workflow (e.g. '/hollowdark'); during local -// dev it stays empty so the app works at the root. const BASE_PATH = process.env.BASE_PATH ?? '' /** @type {import('@sveltejs/kit').Config} */ @@ -13,7 +10,7 @@ const config = { adapter: adapter({ pages: 'dist', assets: 'dist', - fallback: '404.html', // GitHub Pages convention for SPA deep-link fallback + fallback: '404.html', precompress: false, strict: true }), @@ -32,8 +29,6 @@ const config = { serviceWorker: 'service-worker.ts' }, alias: { - // Single scoped alias for every cross-module import. Same-directory - // siblings stay on relative imports (./x) per rules/01-code-style.md. '@hollowdark': '.' } } |
