@@ -15,19 +15,20 @@
position: relative;
display: flex;
align-items: center;
- padding: 0 24px;
+ padding: 0 32px;
height: 52px;
border-bottom: 1px solid var(--border);
- background: var(--bg-raised);
+ background: var(--bg);
flex-shrink: 0;
+ z-index: 10;
}
.logo {
font-family: var(--heading);
- font-size: 15px;
+ font-size: 14px;
font-weight: 400;
color: var(--text-h);
- letter-spacing: -0.4px;
+ letter-spacing: 0.01em;
}
.nav-links {
@@ -36,8 +37,9 @@
position: absolute;
left: 50%;
transform: translateX(-50%);
- background: var(--accent-bg);
- border-radius: 10px;
+ background: var(--bg-subtle);
+ border: 1px solid var(--border);
+ border-radius: 8px;
padding: 3px;
}
@@ -45,18 +47,19 @@
font-family: var(--sans);
font-size: 13px;
font-weight: 300;
- padding: 5px 16px;
- border-radius: 8px;
+ padding: 4px 18px;
+ border-radius: 6px;
border: none;
background: none;
color: var(--text);
cursor: pointer;
transition: background 0.15s, color 0.15s;
+ letter-spacing: 0.01em;
}
- .nav-btn:hover { color: var(--accent); }
+ .nav-btn:hover { color: var(--text-h); }
.nav-btn.active {
- background: var(--bg-raised);
- color: var(--accent-dark);
- box-shadow: 0 1px 4px rgba(99,102,241,0.15);
+ background: var(--bg);
+ color: var(--text-h);
+ box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
diff --git a/src/lib/timeline/JournalDetail.svelte b/src/lib/timeline/JournalDetail.svelte
index ac36318..90ebc23 100644
--- a/src/lib/timeline/JournalDetail.svelte
+++ b/src/lib/timeline/JournalDetail.svelte
@@ -71,9 +71,9 @@
diff --git a/src/lib/timeline/TimelineView.svelte b/src/lib/timeline/TimelineView.svelte
index 4d9f541..69daa47 100644
--- a/src/lib/timeline/TimelineView.svelte
+++ b/src/lib/timeline/TimelineView.svelte
@@ -37,37 +37,37 @@
{#if selected}
-
(selected = null)} />
{:else}
-
-
(sortKey = k)} />
+
+
(sortKey = k)} />
- {#if sortedEntries.length === 0}
- No journal entries yet.
- {:else}
-
- {#each sortedEntries as entry, i (entry.id)}
- {#if i === 0 || getYear(entry.date) !== getYear(sortedEntries[i - 1].date)}
- -
- {getYear(entry.date)}
-
- {/if}
- (selected = entry)} />
- {/each}
-
- {/if}
+ {#if sortedEntries.length === 0}
+ No journal entries yet.
+ {:else}
+
+ {#each sortedEntries as entry, i (entry.id)}
+ {#if i === 0 || getYear(entry.date) !== getYear(sortedEntries[i - 1].date)}
+ -
+ {getYear(entry.date)}
+
+ {/if}
+ (selected = entry)} />
+ {/each}
+
+ {/if}
-
+
+
{/if}
@@ -83,28 +83,49 @@
overflow: hidden;
}
- /* ── Left: summary panel ── */
+ /* ── Left panel ── */
.left-panel {
- width: 280px;
+ width: 260px;
flex-shrink: 0;
overflow-y: auto;
border-right: 1px solid var(--border);
- background: var(--bg);
- padding: 32px 20px;
+ background: var(--bg-raised);
+ padding: 40px 28px;
}
- /* ── Right: timeline ── */
+ /* ── Right panel ── */
.right-panel {
flex: 1;
min-width: 0;
overflow-y: auto;
- padding: 32px 32px 64px;
+ background: var(--bg);
+ }
+
+ /* Inner container with max-width + generous side padding */
+ .right-inner {
+ max-width: 640px;
+ margin: 0 auto;
+ padding: 40px 48px 80px;
+ }
+
+ /* ── Responsive: narrow viewport ── */
+ @media (max-width: 700px) {
+ .journal-page { flex-direction: column; overflow-y: auto; overflow-x: hidden; }
+ .left-panel {
+ width: 100%;
+ border-right: none;
+ border-bottom: 1px solid var(--border);
+ padding: 24px 20px;
+ }
+ .right-panel { overflow-y: unset; }
+ .right-inner { padding: 24px 20px 60px; }
}
/* ── Detail view ── */
.detail-scroll {
flex: 1;
overflow-y: auto;
+ background: var(--bg);
}
/* ── Timeline list ── */
@@ -112,44 +133,34 @@
list-style: none;
padding: 0;
margin: 0;
- position: relative;
- }
- .v-list::before {
- content: '';
- position: absolute;
- left: 4px;
- top: 6px;
- bottom: 6px;
- width: 2px;
- background: var(--border);
- border-radius: 1px;
+ display: flex;
+ flex-direction: column;
+ gap: 0;
}
/* Year marker */
.year-marker {
- display: flex;
- align-items: center;
- padding-bottom: 20px;
+ padding: 32px 0 16px;
}
.year-label {
- font-size: var(--text-2xl);
+ font-size: 11px;
font-weight: 400;
- color: var(--accent);
- letter-spacing: -1px;
- line-height: 1;
- position: relative;
- z-index: 1;
- padding-left: 24px;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ color: var(--text-sub);
}
.page-footer {
- margin-top: 40px;
+ margin-top: 56px;
text-align: center;
- font-size: 13px;
- color: var(--text);
+ font-size: 11px;
+ font-weight: 300;
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+ color: var(--text-sub);
padding-top: 24px;
border-top: 1px solid var(--border);
}
- .empty { text-align: center; color: var(--text); padding: 80px 0; }
+ .empty { text-align: center; color: var(--text-sub); padding: 80px 0; }
diff --git a/src/lib/world-map/StatsPanel.svelte b/src/lib/world-map/StatsPanel.svelte
index cdfe792..a734312 100644
--- a/src/lib/world-map/StatsPanel.svelte
+++ b/src/lib/world-map/StatsPanel.svelte
@@ -99,12 +99,12 @@
{seg.cont}
{/each}
-
+
{:else}
{/if}