From a933fb06b3036a8086b6baceba0e8c833f025a70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=20Randall=20Havens=20=E2=96=B3=20The=20Empathic=20Tec?= =?UTF-8?q?hnologist=20=E2=9F=81=20Doctor=20Who=2042?= Date: Sat, 8 Nov 2025 12:27:52 -0600 Subject: [PATCH] Update styles.css --- public/styles.css | 313 +++++++++++++--------------------------------- 1 file changed, 90 insertions(+), 223 deletions(-) diff --git a/public/styles.css b/public/styles.css index 82e4740..d6ac2ef 100755 --- a/public/styles.css +++ b/public/styles.css @@ -1,8 +1,8 @@ /* ============================================================ - THE FOLD WITHIN — Self-Organizing Static Site Framework v2.3.1 + THE FOLD WITHIN — Self-Organizing Static Site Framework v2.3.2 ============================================================ */ -/* === 1. Base Palette and Typography ======================== */ +/* 1. Palette & Typography */ :root { --bg: #0b0c10; --fg: #f3f3f3; @@ -10,247 +10,114 @@ --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; - text-rendering: optimizeLegibility; - scroll-behavior: smooth; +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 ============================================= */ +/* 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); + 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 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 0.2s ease; + font-size:24px; background:transparent; color:var(--accent); + border:none; padding:4px 8px; cursor:pointer; transition:color .2s; } -.topbar button:hover { color: var(--fg); } +.topbar button:hover{ color:var(--fg); } -/* === 3. Sidebar / Overlay Layout =========================== */ +/* 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; /* ABOVE overlay */ - will-change: transform; - border-right: 1px solid var(--line); + 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); } - -/* Dimmed blur behind sidebar */ +.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; /* BELOW sidebar */ - opacity: 0; - pointer-events: none; - transition: opacity .3s ease; -} -.sidebar.open ~ .overlay { - opacity: 1; - pointer-events: all; + 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 Region ===================================== */ +/* 4. Content */ .content { - margin-top: 48px; - padding: 16px; - transition: margin-left .3s ease; - max-width: 960px; + 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); } } -/* Desktop two-column mode */ -@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; } -} - -/* Mobile single-column mode */ -@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 ============================================= */ +/* 5. Viewer */ .viewer { - height: calc(100vh - 80px); - overflow: auto; - max-width: 820px; - margin: 0 auto; - padding-bottom: 40px; + 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); } -#htmlView { - width: 100%; - height: 100%; - border: none; - background: #0b0c10; +/* 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; } -/* Markdown formatting */ -#mdView h1, #mdView h2, #mdView h3 { color: var(--accent); } -#mdView pre, #mdView code { - overflow-x: auto; - word-break: break-word; - background: #111; - padding: 0.5em; - border-radius: 4px; - color: var(--accent); +/* 8. Directory Tree */ +.dir .label{ + display:flex; align-items:center; cursor:pointer; + padding:4px 6px; color:var(--accent); font-weight:600; + user-select:none; } -#mdView blockquote { - border-left: 3px solid var(--accent); - padding-left: 12px; - color: var(--muted); - font-style: italic; +.dir .label::before{ + content:"▶"; margin-right:6px; font-size:.8em; color:var(--muted); + transition:transform .2s; } -#mdView a { color: var(--accent); } - -/* === 6. Meta / Pager ======================================= */ -.meta { - color: var(--muted); - margin-bottom: 12px; - font-size: 0.9em; +.dir.open .label::before{ content:"▼"; } +.children{ + display:none; margin-left:1em; + border-left:1px dashed var(--line); padding-left:10px; } - -button#prev, button#next { - background: transparent; - border: 1px solid var(--line); - color: var(--fg); - border-radius: 8px; - padding: 4px 10px; - font-size: 0.95em; - cursor: pointer; - transition: all 0.2s ease; -} -button#prev:hover, button#next:hover { - border-color: var(--accent); - color: var(--accent); -} - -/* === 7. Controls =========================================== */ -.controls { - display: flex; - gap: 0.5em; - margin-bottom: 8px; -} -select, #search { - background: #0b0c10; - color: var(--fg); - border: 1px solid var(--line); - border-radius: 4px; - padding: 6px; - font-size: 0.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: 0.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; } - -.file { - display: block; - padding: 4px 12px; - color: var(--fg); - text-decoration: none; - border-radius: 4px; - font-size: 0.95em; - transition: background 0.15s ease; -} -.file:hover { background: rgba(208,170,91,.1); } -.file.active { - background: rgba(208,170,91,.2); - outline: 1px solid var(--line); -} - -.pin { color: var(--accent); margin-right: 4px; } -.meta { color: var(--muted); font-size: 0.85em; margin-left: 6px; } - -/* === 9. Scrollbars ========================================= */ -::-webkit-scrollbar { width: 8px; height: 8px; } -::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; } -::-webkit-scrollbar-thumb:hover { background: var(--accent); } - -/* === 10. Animations & Effects ============================== */ -.fade-in { animation: fadeIn 0.25s ease-in; } -@keyframes fadeIn { - from { opacity: 0; transform: translateY(6px); } - to { opacity: 1; transform: translateY(0); } -} \ No newline at end of file +.dir.open > .children{ display:block; } \ No newline at end of file