Reverts scroll-section/pull/is-stuck experiments that broke cover behavior. Each card: sticky + stepped top + z-index; next card slides over previous. Co-authored-by: Cursor <cursoragent@cursor.com>
91 lines
2.8 KiB
CSS
91 lines
2.8 KiB
CSS
@import '../shared/stack-vars.css';
|
|
@import '../shared/stack-layout.css';
|
|
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
|
body {
|
|
font-family: 'IBM Plex Mono', ui-monospace, monospace;
|
|
background: #0d0d0f;
|
|
color: #b8b4af;
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.nav {
|
|
position: fixed; top: 0; left: 0; right: 0; z-index: 200;
|
|
display: flex; gap: 1rem; padding: 0.5rem 1rem; font-size: 0.62rem;
|
|
background: rgba(13,13,15,0.95); border-bottom: 1px solid #2a2a30;
|
|
}
|
|
|
|
.nav a { color: #5a5854; text-decoration: none; }
|
|
.nav a:hover { color: #7eb87a; }
|
|
#depth { margin-left: auto; color: #7eb87a; font-weight: 600; }
|
|
|
|
.mount {
|
|
width: min(600px, 100%);
|
|
margin: 0 auto;
|
|
padding-top: var(--stack-nav);
|
|
}
|
|
|
|
.frame {
|
|
position: sticky;
|
|
min-height: var(--stack-card-min);
|
|
margin: 0 0.5rem 1.25rem;
|
|
border-left: 3px solid #3a3a44;
|
|
background: #141418;
|
|
box-shadow: 0 8px 0 #0a0a0c, 0 14px 28px rgba(0,0,0,0.45);
|
|
}
|
|
|
|
.frame-line {
|
|
position: sticky;
|
|
display: block;
|
|
font-size: 0.66rem;
|
|
color: #6b9b6b;
|
|
border: none;
|
|
font-family: inherit;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
width: 100%;
|
|
padding: 0.65rem 0 0.35rem 1rem;
|
|
background: #141418;
|
|
z-index: 80;
|
|
}
|
|
|
|
.frame-line:hover { color: #9fdf9f; text-decoration: underline; }
|
|
|
|
.frame-body {
|
|
padding: 0 0 1.5rem 1rem;
|
|
background: #141418;
|
|
}
|
|
|
|
.f0 { top: var(--stack-stick); z-index: 1; border-color: #c4a574; }
|
|
.f0 .frame-line { top: var(--stack-stick); }
|
|
|
|
.f1 { top: calc(var(--stack-stick) + var(--stack-step)); z-index: 2; }
|
|
.f1 .frame-line { top: calc(var(--stack-stick) + var(--stack-step)); }
|
|
|
|
.f2 { top: calc(var(--stack-stick) + var(--stack-step) * 2); z-index: 3; }
|
|
.f2 .frame-line { top: calc(var(--stack-stick) + var(--stack-step) * 2); }
|
|
|
|
.f3 { top: calc(var(--stack-stick) + var(--stack-step) * 3); z-index: 4; }
|
|
.f3 .frame-line { top: calc(var(--stack-stick) + var(--stack-step) * 3); }
|
|
|
|
.f4 { top: calc(var(--stack-stick) + var(--stack-step) * 4); z-index: 5; border-color: #6b8b9b; }
|
|
.f4 .frame-line { top: calc(var(--stack-stick) + var(--stack-step) * 4); }
|
|
|
|
.f5 { top: calc(var(--stack-stick) + var(--stack-step) * 5); z-index: 6; }
|
|
.f5 .frame-line { top: calc(var(--stack-stick) + var(--stack-step) * 5); }
|
|
|
|
.f6 { top: calc(var(--stack-stick) + var(--stack-step) * 6); z-index: 7; border-color: #7eb87a; margin-bottom: 4rem; }
|
|
.f6 .frame-line { top: calc(var(--stack-stick) + var(--stack-step) * 6); }
|
|
|
|
.frame-body strong { color: #e8e6e3; font-weight: 500; display: block; margin-bottom: 0.2rem; }
|
|
.frame-body p { color: #6b6966; font-size: 0.74rem; }
|
|
.frame-body a { color: #8b9cb3; text-decoration: none; }
|
|
|
|
.foot {
|
|
display: flex; justify-content: space-between;
|
|
width: min(600px, 100%); margin: 0 auto;
|
|
padding: 0 1.5rem 2.5rem; font-size: 0.6rem; color: #3a3a40;
|
|
}
|
|
.foot a { color: #3a3a40; text-decoration: none; }
|