aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/deploy.yml4
-rw-r--r--.gitignore8
-rw-r--r--static/css/app.css37
-rw-r--r--svelte.config.js7
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
diff --git a/.gitignore b/.gitignore
index 8b147ae..6fe63e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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': '.'
}
}