feat(web): library homepage, chain in settings
Implements the §9.7 shell rulings (issue #173): "/" renders the library and the board route is gone — every former board target (Esc, cleared search, detail parent routes, the not-found fallback) lands on the library. The signal chain moves into /settings as its first section, lamps still driven by the health poll; the master lamp stays on the rail. The wordmark is now a real anchor that navigates home. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
60642d8709
commit
7ef24088a5
+13
-26
@@ -156,6 +156,8 @@ body {
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
/* §9.7: the wordmark is a link home — quiet at rest, cyan on approach
|
||||
like every other interactive control */
|
||||
.wordmark {
|
||||
margin: 0;
|
||||
font-family: var(--font-display);
|
||||
@@ -163,6 +165,13 @@ body {
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
line-height: 1;
|
||||
color: var(--ink);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.wordmark:hover,
|
||||
.wordmark:focus-visible {
|
||||
color: var(--accent-bright);
|
||||
}
|
||||
|
||||
.rail-meta {
|
||||
@@ -247,44 +256,26 @@ body {
|
||||
}
|
||||
}
|
||||
|
||||
.board.powered .lamp {
|
||||
.chain.powered .lamp {
|
||||
animation: lamp-strike 420ms var(--ease-out) both;
|
||||
animation-delay: calc(var(--strike, 0) * 120ms);
|
||||
}
|
||||
|
||||
.board.powered .lamp[data-state="off"] {
|
||||
.chain.powered .lamp[data-state="off"] {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.lamp[data-state="probing"],
|
||||
.board.powered .lamp {
|
||||
.chain.powered .lamp {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- board and chain ------------------------------------------------- */
|
||||
|
||||
.board {
|
||||
width: 100%;
|
||||
max-width: 68rem;
|
||||
margin: 0 auto;
|
||||
padding: var(--space-12) var(--space-6);
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* the deck swaps in over the board; flex would beat [hidden] otherwise */
|
||||
.board[hidden] {
|
||||
display: none;
|
||||
}
|
||||
/* ---- signal chain (§9.7: a settings section, no route of its own) ----- */
|
||||
|
||||
.chain {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.chain {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 2.5rem 1.2fr 2.5rem 1fr;
|
||||
grid-template-areas:
|
||||
@@ -1811,10 +1802,6 @@ body {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.board {
|
||||
padding: var(--space-6) var(--space-4);
|
||||
}
|
||||
|
||||
.chain {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-areas:
|
||||
|
||||
Reference in New Issue
Block a user