Tested all four variants in browser — only active layer body visible while tabs stay staggered; scroll covers previous layers correctly. Co-authored-by: Cursor <cursoragent@cursor.com>
90 lines
3.0 KiB
CSS
90 lines
3.0 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;
|
|
margin: 0 0.5rem;
|
|
border-left: 3px solid #3a3a44;
|
|
background: #141418;
|
|
box-shadow: 0 8px 0 #0a0a0c, 0 14px 28px rgba(0,0,0,0.45);
|
|
z-index: 10;
|
|
}
|
|
|
|
.frame-line {
|
|
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;
|
|
}
|
|
|
|
.frame-line:hover { color: #9fdf9f; text-decoration: underline; }
|
|
|
|
.frame-body {
|
|
padding: 0 0 2rem 1rem;
|
|
min-height: var(--stack-body-h);
|
|
background: #141418;
|
|
}
|
|
|
|
.f0 { top: calc(var(--stack-stick) + var(--stack-step) * 0); border-color: #c4a574; }
|
|
.f0 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-tab-h)); }
|
|
|
|
.f1 { top: calc(var(--stack-stick) + var(--stack-step) * 1); }
|
|
.f1 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 1 - var(--stack-tab-h)); }
|
|
|
|
.f2 { top: calc(var(--stack-stick) + var(--stack-step) * 2); }
|
|
.f2 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 2 - var(--stack-tab-h)); }
|
|
|
|
.f3 { top: calc(var(--stack-stick) + var(--stack-step) * 3); }
|
|
.f3 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 3 - var(--stack-tab-h)); }
|
|
|
|
.f4 { top: calc(var(--stack-stick) + var(--stack-step) * 4); border-color: #6b8b9b; }
|
|
.f4 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 4 - var(--stack-tab-h)); }
|
|
|
|
.f5 { top: calc(var(--stack-stick) + var(--stack-step) * 5); }
|
|
.f5 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 5 - var(--stack-tab-h)); }
|
|
|
|
.f6 { top: calc(var(--stack-stick) + var(--stack-step) * 6); border-color: #7eb87a; }
|
|
.f6 .frame-body { margin-top: calc(var(--stack-reveal) - var(--stack-stick) - var(--stack-step) * 6 - var(--stack-tab-h)); }
|
|
|
|
.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; }
|