89 lines
1.8 KiB
CSS
89 lines
1.8 KiB
CSS
/* ============================================================
|
|
5. PAGE NAV (shared, pinned top-left)
|
|
============================================================ */
|
|
.nav {
|
|
position: fixed;
|
|
left: 1rem;
|
|
top: 1rem;
|
|
z-index: 6;
|
|
}
|
|
|
|
.nav-links {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 0.4rem;
|
|
}
|
|
|
|
.nav-link {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.3rem 0.7rem;
|
|
border-radius: 999px;
|
|
background: var(--surface-0);
|
|
border: 1px solid var(--surface-1);
|
|
color: var(--subtext-1);
|
|
font-size: 0.8rem;
|
|
text-decoration: none;
|
|
transition: transform 0.15s ease, border-color 0.15s ease,
|
|
background 0.15s ease, color 0.15s ease;
|
|
}
|
|
|
|
.nav-link:hover {
|
|
border-color: rgb(var(--accent-rgb));
|
|
color: var(--text);
|
|
transform: translateX(2px);
|
|
}
|
|
|
|
.nav-link.selected {
|
|
background: rgb(var(--accent-rgb));
|
|
border-color: rgb(var(--accent-rgb));
|
|
color: var(--crust);
|
|
font-weight: 700;
|
|
margin-left: 14px;
|
|
}
|
|
|
|
.nav-link.is-a-dev {
|
|
background: var(--surface-1);
|
|
border-color: var(--surface-2);
|
|
color: var(--text);
|
|
}
|
|
|
|
.nav-link.is-a-dev:hover {
|
|
border-color: var(--saphire);
|
|
transform: translateX(2px);
|
|
}
|
|
|
|
/* Triangle pointing at the selected item */
|
|
.nav-link.selected::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: -14px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
border: 6px solid transparent;
|
|
border-left-color: rgb(var(--accent-rgb));
|
|
}
|
|
|
|
|
|
|
|
/* ---- boot reveal of side chrome (set by terminal.js on the homepage,
|
|
but targets these shared .nav / .badges elements) ---- */
|
|
.nav,
|
|
.badges {
|
|
transition: opacity 0.6s ease, transform 0.6s ease;
|
|
}
|
|
|
|
body.term-booting .nav,
|
|
body.term-booting .badges {
|
|
opacity: 0;
|
|
transform: translateY(8px);
|
|
}
|
|
|
|
body.term-chrome-in .nav,
|
|
body.term-chrome-in .badges {
|
|
opacity: 1;
|
|
transform: none;
|
|
}
|