thefoldwithin-earth/public/styles.css
Mark Randall Havens △ The Empathic Technologist ⟁ Doctor Who 42 a933fb06b3
Update styles.css
2025-11-08 12:27:52 -06:00

123 lines
No EOL
3.8 KiB
CSS
Executable file

/* ============================================================
THE FOLD WITHIN — Self-Organizing Static Site Framework v2.3.2
============================================================ */
/* 1. Palette & Typography */
:root {
--bg: #0b0c10;
--fg: #f3f3f3;
--accent: #d0aa5b;
--muted: #8d8f95;
--line: #2a2d34;
}
html,body {
margin:0; padding:0;
background:var(--bg); color:var(--fg);
font-family:system-ui,sans-serif;
-webkit-font-smoothing:antialiased;
scroll-behavior:smooth;
}
/* 2. Topbar */
.topbar {
position:fixed; top:0; left:0; right:0;
height:48px; display:flex; align-items:center;
gap:1em; background:#111; padding:0 1em;
z-index:300; box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.topbar a { color:var(--accent); text-decoration:none; font-weight:500; }
.topbar a:hover{ color:var(--fg); }
.topbar button {
font-size:24px; background:transparent; color:var(--accent);
border:none; padding:4px 8px; cursor:pointer; transition:color .2s;
}
.topbar button:hover{ color:var(--fg); }
/* 3. Sidebar + Overlay */
.sidebar {
position:fixed; top:48px; bottom:0; left:0;
width:85%; max-width:320px; overflow-y:auto;
background:#111; transform:translateX(-100%);
transition:transform .3s ease; padding:10px;
z-index:200; will-change:transform; border-right:1px solid var(--line);
}
.sidebar.open{ transform:translateX(0); }
.overlay {
position:fixed; inset:0; background:rgba(0,0,0,.45);
backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
z-index:150; opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.sidebar.open ~ .overlay{ opacity:1; pointer-events:all; }
/* 4. Content */
.content {
margin-top:48px; padding:16px;
transition:margin-left .3s ease; max-width:960px;
}
@media (min-width:900px){
.sidebar{ transform:none!important; position:static;
width:280px; height:calc(100vh - 48px); z-index:auto; }
.content{ margin-left:280px; }
.overlay{ display:none!important; }
}
@media (max-width:899px){
.content{ margin-left:0!important; }
.viewer{ padding:12px; font-size:1.05em; line-height:1.6; }
#htmlView,#mdView{ min-height:calc(100vh - 60px); }
}
/* 5. Viewer */
.viewer {
height:calc(100vh - 80px);
overflow:auto; max-width:820px;
margin:0 auto; padding-bottom:40px;
}
#htmlView{ width:100%; height:100%; border:none; background:#0b0c10; }
#mdView h1,#mdView h2,#mdView h3{ color:var(--accent); }
#mdView pre,#mdView code{
overflow-x:auto; word-break:break-word;
background:#111; padding:.5em; border-radius:4px; color:var(--accent);
}
#mdView blockquote{
border-left:3px solid var(--accent);
padding-left:12px; color:var(--muted); font-style:italic;
}
#mdView a{ color:var(--accent); }
/* 6. Meta + Pager */
.meta{ color:var(--muted); margin-bottom:12px; font-size:.9em; }
.pager{ display:flex; justify-content:space-between; padding:8px 0; }
button#prev,button#next{
background:transparent; border:1px solid var(--line); color:var(--fg);
border-radius:8px; padding:4px 10px; font-size:.95em; cursor:pointer;
transition:all .2s ease;
}
button#prev:hover,button#next:hover{
border-color:var(--accent); color:var(--accent);
}
/* 7. Controls */
.controls{ display:flex; gap:.5em; margin-bottom:8px; }
select,#search{
background:#0b0c10; color:var(--fg);
border:1px solid var(--line); border-radius:4px; padding:6px;
font-size:.9em;
}
#search{ flex:1; }
/* 8. Directory Tree */
.dir .label{
display:flex; align-items:center; cursor:pointer;
padding:4px 6px; color:var(--accent); font-weight:600;
user-select:none;
}
.dir .label::before{
content:"▶"; margin-right:6px; font-size:.8em; color:var(--muted);
transition:transform .2s;
}
.dir.open .label::before{ content:"▼"; }
.children{
display:none; margin-left:1em;
border-left:1px dashed var(--line); padding-left:10px;
}
.dir.open > .children{ display:block; }