From b4defbe009eede22a3d0e7e1f92ca136549ab299 Mon Sep 17 00:00:00 2001 From: senke Date: Sun, 5 Apr 2026 19:04:21 +0200 Subject: [PATCH] v1 design --- talas-wiki/static/style.css | 1802 ++++++++++------------------------- 1 file changed, 501 insertions(+), 1301 deletions(-) diff --git a/talas-wiki/static/style.css b/talas-wiki/static/style.css index e6d639e..e3816ac 100644 --- a/talas-wiki/static/style.css +++ b/talas-wiki/static/style.css @@ -1,1412 +1,612 @@ -/* ============================================================= - TALAS WIKI — Sumi-e Aesthetic - Based on Talas Graphic Charter - ============================================================= */ +@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;700&family=Syne:wght@400;800&family=JetBrains+Mono:wght@100;800&display=swap'); :root { - /* Day Theme (Washi Paper & Ink) */ - --bg: #F2EDE6; - --bg-alt: #EAE6DF; - --border: #D1CFC9; - --border-hover: #A09E98; - --text: #1A1A1E; - --text-dim: #8A857D; - --heading: #111111; - --yellow: #BE9F3C; - --cyan: #006B7F; - --red: #B45046; - --purple: #8B6B85; - --orange: #B87352; - --font-heading: 'Space Grotesk', system-ui, sans-serif; - --font-body: 'Inter', system-ui, sans-serif; - --font-mono: 'JetBrains Mono', 'Consolas', 'Fira Code', monospace; - --radius-sm: 4px; - --radius-md: 8px; - --radius-lg: 12px; - --shadow: 0 4px 12px rgba(26, 26, 30, 0.05); + --bg: #050505; + --fg: #F4F0EA; + --accent: #00FFCC; + --blood: #FF0055; + --font-display: 'Syne', sans-serif; + --font-text: 'Space Grotesk', sans-serif; + --font-code: 'JetBrains Mono', monospace; } -@media (prefers-color-scheme: dark) { - :root { - /* Night Theme (Dark Wash) */ - --bg: #0D0D0F; - --bg-alt: #161618; - --border: #3A352D; - --border-hover: #5A5348; - --text: #E8E3DB; - --text-dim: #9A958D; - --heading: #F2EDE6; - --yellow: #D1B85D; - --cyan: #0098B5; - --red: #D66D60; - --purple: #AB8CA5; - --orange: #D19070; - --shadow: 0 4px 12px rgba(0, 0, 0, 0.3); - } +html { + background: var(--bg); + color: var(--fg); + font-family: var(--font-text); + scroll-behavior: smooth; + cursor: crosshair; } -*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } - -::selection { background: rgba(0, 107, 127, 0.15); color: var(--heading); } -@media (prefers-color-scheme: dark) { - ::selection { background: rgba(0, 152, 181, 0.25); } -} - -html { background: var(--bg); } - body { - font-family: var(--font-body); - font-size: 15px; - line-height: 1.7; - color: var(--text); - overflow-x: hidden; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + margin: 0; + overflow-x: hidden; + background-image: + radial-gradient(circle at 50% 50%, rgba(0, 255, 204, 0.05) 0%, transparent 50%), + linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, 0.03) 25%, rgba(255, 255, 255, 0.03) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.03) 75%, rgba(255, 255, 255, 0.03) 76%, transparent 77%, transparent), + linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, 0.03) 25%, rgba(255, 255, 255, 0.03) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.03) 75%, rgba(255, 255, 255, 0.03) 76%, transparent 77%, transparent); + background-size: 100vw 100vh, 50px 50px, 50px 50px; } -a { - color: var(--cyan); - text-decoration: none; - border-bottom: 1px dashed rgba(0, 107, 127, 0.3); - transition: all 0.2s ease; -} -@media (prefers-color-scheme: dark) { - a { border-bottom: 1px dashed rgba(0, 152, 181, 0.3); } +::selection { + background: var(--accent); + color: var(--bg); } -a:hover { - background: rgba(0, 107, 127, 0.05); - color: var(--cyan); - border-bottom-color: var(--cyan); -} -@media (prefers-color-scheme: dark) { - a:hover { background: rgba(0, 152, 181, 0.1); } -} - -/* ═══ LAYOUT ═══ */ +/* --- THE ANTI-LAYOUT --- */ .layout { - display: grid; - grid-template-columns: 280px 1fr; - min-height: 100vh; + display: block !important; /* Destroy the grid */ + padding: 5vw; } -/* ═══ SIDEBAR ═══ */ - .sidebar { - background: var(--bg-alt); - border-right: 1px solid var(--border); - padding: 24px 20px; - overflow-y: auto; - position: sticky; - top: 0; - height: 100vh; - display: flex; - flex-direction: column; + position: fixed !important; + top: 0; + left: 0; + width: 100vw !important; + height: 100vh !important; + pointer-events: none; /* Let clicks pass through to main content */ + z-index: 9000; + display: flex !important; + flex-direction: row !important; + justify-content: space-between; + padding: 2vw !important; + mix-blend-mode: difference; + background: transparent !important; + border: none !important; } .sidebar-header { - margin-bottom: 24px; - padding-bottom: 20px; - border-bottom: 1px solid var(--border); + pointer-events: auto; + writing-mode: vertical-rl; + transform: rotate(180deg); + border: none !important; } .logo { - font-family: var(--font-heading); - font-size: 20px; - font-weight: 700; - color: var(--heading); - border: none; - letter-spacing: -0.02em; - display: inline-flex; - align-items: baseline; + font-family: var(--font-display); + font-size: 5vw !important; + font-weight: 800; + text-transform: uppercase; + color: #FFF !important; + text-decoration: none; + line-height: 0.8; + white-space: nowrap; } -.logo:hover { background: none; color: var(--cyan); } -.logo-dot { color: var(--cyan); font-weight: bold; margin-left: 2px;} +.logo-dot { display: none; } /* Kill the dot */ .sidebar-search { - margin-bottom: 24px; + position: fixed; + bottom: 2vw; + left: 2vw; + pointer-events: auto; + width: 40vw; + mix-blend-mode: normal; + z-index: 9001; } .search-input { - width: 100%; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text); - font-family: var(--font-body); - font-size: 14px; - padding: 10px 14px; - outline: none; - transition: border-color 0.2s, box-shadow 0.2s; + width: 100%; + background: transparent !important; + border: none !important; + border-bottom: 2px solid var(--fg) !important; + color: var(--accent) !important; + font-family: var(--font-code) !important; + font-size: 1.5vw !important; + padding: 10px 0 !important; + outline: none; + border-radius: 0 !important; } .search-input:focus { - border-color: var(--cyan); - box-shadow: 0 0 0 2px rgba(0, 107, 127, 0.1); + border-bottom-color: var(--accent) !important; + box-shadow: none !important; } -.search-input::placeholder { color: var(--text-dim); } .sidebar-nav { - display: flex; - flex-direction: column; - gap: 4px; + pointer-events: auto; + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 1vw; } -.nav-domain { - display: flex; - align-items: center; - padding: 8px 12px; - font-size: 13px; - font-weight: 600; - color: var(--text-dim); - border: none; - border-radius: var(--radius-sm); - transition: all 0.2s ease; -} -.nav-domain:hover { - background: var(--bg); - color: var(--heading); - transform: translateX(2px); +.nav-domain, .nav-link { + font-family: var(--font-display); + font-size: 2vw !important; + font-weight: 800 !important; + text-transform: uppercase; + color: transparent !important; + -webkit-text-stroke: 1px rgba(255,255,255,0.5); + text-decoration: none; + transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + border: none !important; + padding: 0 !important; } -/* ═══ MAIN CONTENT ═══ */ +.nav-domain:hover, .nav-link:hover { + color: var(--accent) !important; + -webkit-text-stroke: 0px; + transform: translateX(-20px) scale(1.2) !important; + background: transparent !important; +} +.nav-separator { display: none; } + +/* --- MAIN CONTENT AS AN EXHIBITION --- */ .main { - padding: 48px 64px; - max-width: 1080px; - margin: 0 auto; - width: 100%; + position: relative; + z-index: 10; + margin-left: 15vw !important; + margin-right: 25vw !important; + margin-top: 10vh; + padding-bottom: 20vh; + border-left: none !important; + max-width: none !important; } -/* ═══ BREADCRUMB ═══ */ - -.breadcrumb { - color: var(--text-dim); - font-size: 13px; - margin-bottom: 32px; - font-family: var(--font-mono); +/* Destroying typical headers */ +h1 { + font-family: var(--font-display) !important; + font-size: 8vw !important; + line-height: 0.8 !important; + font-weight: 800 !important; + text-transform: uppercase; + margin-left: -10vw !important; + margin-bottom: 4rem !important; + word-wrap: break-word; + color: var(--fg) !important; + text-shadow: 4px 4px 0px var(--accent), -4px -4px 0px var(--blood); } -.breadcrumb::before { content: ">_ "; color: var(--cyan); } -.breadcrumb a { color: var(--text-dim); font-size: 13px; border: none; } -.breadcrumb a:hover { background: none; color: var(--cyan); border-bottom: 1px solid var(--cyan); } +h1::before { display: none !important; } -.edit-marker { color: var(--orange); } - -/* ═══ HEADINGS ═══ */ - -h1, h2, h3, h4, h5, h6 { - font-family: var(--font-heading); - color: var(--heading); - font-weight: 700; - line-height: 1.3; - letter-spacing: -0.01em; +h2 { + font-family: var(--font-display) !important; + font-size: 4vw !important; + font-weight: 800 !important; + text-transform: uppercase; + background: var(--fg) !important; + color: var(--bg) !important; + display: inline-block !important; + padding: 10px 20px !important; + transform: rotate(-2deg) !important; + margin: 6rem 0 2rem -2vw !important; + border: none !important; } -h1 { font-size: 36px; margin-bottom: 16px; } -h1::before { content: ""; display: inline-block; width: 6px; height: 32px; background: var(--cyan); margin-right: 12px; vertical-align: middle; border-radius: 3px; } - -h2 { font-size: 24px; margin: 48px 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--border); } -h3 { font-size: 18px; margin: 32px 0 12px; } -h4 { font-size: 16px; margin: 24px 0 8px; color: var(--text); font-family: var(--font-body); font-weight: 600; } -h5, h6 { font-size: 14px; margin: 20px 0 8px; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; } - -/* ═══ PAGE HEADER ═══ */ - -.page-header { - display: flex; - align-items: center; - gap: 20px; - margin-bottom: 12px; -} -.page-header h1 { margin-bottom: 0; flex: 1; } -.page-header h1::before { display: none; } /* removed before mark on main title if we use another style, wait let's keep it */ - -.page-meta { - display: flex; - flex-wrap: wrap; - gap: 16px; - font-size: 13px; - color: var(--text-dim); - margin-bottom: 40px; - padding-bottom: 24px; - border-bottom: 1px solid var(--border); - font-family: var(--font-mono); -} -.meta-domain { color: var(--cyan); font-weight: 600; } - -/* ═══ PAGE CONTENT ═══ */ - -.page-content { - line-height: 1.8; +h3 { + font-size: 2vw !important; + font-family: var(--font-code) !important; + color: var(--accent) !important; + border-top: 1px dashed var(--accent) !important; + padding-top: 1rem !important; } -.page-content p { margin-bottom: 16px; } +/* Links */ +a { + color: var(--fg) !important; + text-decoration: none; + box-shadow: inset 0 -2px 0 var(--accent); + transition: box-shadow 0.3s, color 0.3s; + border: none !important; +} +a:hover { + box-shadow: inset 0 -50px 0 var(--accent); + color: var(--bg) !important; + background: transparent !important; +} + +/* Text */ +.page-content p { + font-size: 1.5rem !important; + line-height: 1.6 !important; + font-weight: 300 !important; + max-width: 800px; + margin-bottom: 2rem !important; +} .page-content ul, .page-content ol { - margin: 12px 0 20px 24px; + font-size: 1.5rem; + line-height: 1.6; + margin-bottom: 2rem; + list-style-type: none; + padding-left: 0; } -.page-content li { margin-bottom: 6px; } -.page-content li::marker { color: var(--cyan); } - -.page-content blockquote { - border-left: 4px solid var(--cyan); - padding: 16px 24px; - margin: 24px 0; - color: var(--text-dim); - background: var(--bg-alt); - border-radius: 0 var(--radius-md) var(--radius-md) 0; - font-style: italic; +.page-content li { + position: relative; + padding-left: 2rem; + margin-bottom: 1rem; +} +.page-content li::marker { content: none !important; } +.page-content li::before { + content: '►'; + position: absolute; + left: 0; + color: var(--accent); + font-family: var(--font-code); } +/* Brutalist code blocks */ .page-content pre { - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 20px; - overflow-x: auto; - margin: 24px 0; - font-size: 14px; - line-height: 1.6; - box-shadow: inset 0 2px 4px rgba(0,0,0,0.02); + background: var(--fg) !important; + color: var(--bg) !important; + padding: 2rem !important; + font-family: var(--font-code) !important; + font-size: 1.1rem !important; + overflow-x: auto; + box-shadow: 10px 10px 0 var(--accent) !important; + transform: rotate(1deg); + transition: transform 0.2s; + margin: 3rem 0 !important; + border: none !important; + border-radius: 0 !important; +} +.page-content pre:hover { + transform: rotate(0deg); } .page-content code { - color: var(--orange); - font-family: var(--font-mono); - font-size: 13px; - background: var(--bg-alt); - padding: 2px 6px; - border-radius: 4px; - border: 1px solid var(--border); + font-family: var(--font-code) !important; + color: var(--bg) !important; +} +.page-content p code, .page-content li code { + background: rgba(255,255,255,0.1) !important; + padding: 2px 6px !important; + color: var(--accent) !important; + border: none !important; } -.page-content pre code { color: var(--text); background: transparent; padding: 0; border: none; font-size: 14px; } +/* Images */ .page-content img { - max-width: 100%; - border: 1px solid var(--border); - border-radius: var(--radius-md); - margin: 24px 0; - box-shadow: var(--shadow); + max-width: 100%; + filter: grayscale(100%) contrast(1.2) !important; + mix-blend-mode: luminosity !important; + transition: all 0.5s !important; + border: 1px solid rgba(255,255,255,0.2) !important; + border-radius: 0 !important; + box-shadow: none !important; +} +.page-content img:hover { + filter: grayscale(0%) contrast(1) !important; + mix-blend-mode: normal !important; } +/* Blockquote */ +.page-content blockquote { + border: none !important; + font-size: 2rem !important; + font-family: var(--font-display) !important; + font-style: italic; + color: var(--accent) !important; + margin: 4rem 0 !important; + padding: 0 !important; + padding-left: 4rem !important; + position: relative; + background: transparent !important; + border-radius: 0 !important; +} +.page-content blockquote::before { + content: '"'; + position: absolute; + left: -1rem; + top: -3rem; + font-size: 8rem; + color: rgba(0, 255, 204, 0.2); + font-family: var(--font-display); +} + +/* Tables */ .page-content table { - border-collapse: separate; - border-spacing: 0; - width: 100%; - margin: 24px 0; - font-size: 14px; - border: 1px solid var(--border); - border-radius: var(--radius-md); - overflow: hidden; + width: 100%; + border-collapse: collapse !important; + margin: 3rem 0 !important; + font-family: var(--font-code) !important; + border: none !important; + border-radius: 0 !important; +} +.page-content th, .page-content td { + padding: 1.5rem !important; + border: 1px solid rgba(255,255,255,0.1) !important; + text-align: left; } .page-content th { - background: var(--bg-alt); - color: var(--heading); - text-align: left; - padding: 12px 16px; - font-weight: 600; - border-bottom: 1px solid var(--border); -} -.page-content td { - padding: 12px 16px; - border-bottom: 1px solid var(--border); -} -.page-content tr:last-child td { border-bottom: none; } -.page-content tr:hover td { - background: rgba(0, 107, 127, 0.03); -} -@media (prefers-color-scheme: dark) { - .page-content tr:hover td { background: rgba(0, 152, 181, 0.08); } -} - -.page-content hr { - border: none; - border-top: 1px solid var(--border); - margin: 40px 0; -} - -.page-content input[type="checkbox"] { - accent-color: var(--cyan); - margin-right: 8px; - transform: scale(1.1); -} - -.page-content strong { color: var(--heading); font-weight: 600; } -.page-content em { color: var(--text); font-style: italic; } - -/* ═══ WIKILINKS ═══ */ - -.wikilink { - color: var(--cyan); - border-bottom: 1px solid rgba(0, 107, 127, 0.3); - font-weight: 500; -} -.wikilink:hover { - background: rgba(0, 107, 127, 0.08); - color: var(--cyan); - border-bottom-color: var(--cyan); -} -@media (prefers-color-scheme: dark) { - .wikilink { border-bottom: 1px solid rgba(0, 152, 181, 0.4); } - .wikilink:hover { background: rgba(0, 152, 181, 0.15); border-bottom-color: var(--cyan); } -} - -.wikilink-broken { - color: var(--red); - border-bottom: 1px dashed var(--red); - cursor: help; -} -.asset-link { color: var(--orange); border-bottom-color: rgba(184, 115, 82, 0.4); } -.asset-link:hover { background: rgba(184, 115, 82, 0.08); } - -/* ═══ BACKLINKS ═══ */ - -.backlinks { - margin-top: 64px; - padding-top: 32px; - border-top: 1px solid var(--border); -} -.backlinks h3 { font-size: 14px; color: var(--text-dim); margin-bottom: 16px; font-family: var(--font-body); font-weight: 600; } -.backlinks h3::before { content: "← "; color: var(--cyan); } -.backlinks ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; } -.backlinks li { margin: 0; font-size: 13px; } -.backlinks a { - display: inline-block; - padding: 6px 12px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text); - border-bottom: 1px solid var(--border); -} -.backlinks a:hover { background: var(--bg); border-color: var(--cyan); color: var(--cyan); transform: translateY(-1px); box-shadow: var(--shadow); } -.backlink-domain { color: var(--text-dim); font-size: 11px; margin-left: 8px; font-family: var(--font-mono); } - -/* ═══ DIRECTORY LISTING ═══ */ - -.dir-listing { - font-size: 14px; - margin: 24px 0; - border: 1px solid var(--border); - border-radius: var(--radius-md); - overflow: hidden; -} - -.dir-header { - display: grid; - grid-template-columns: 32px 1fr 140px 100px; - gap: 16px; - padding: 12px 16px; - background: var(--bg-alt); - border-bottom: 1px solid var(--border); - color: var(--text-dim); - font-size: 12px; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; -} - -.dir-entry { - display: grid; - grid-template-columns: 32px 1fr 140px 100px; - gap: 16px; - padding: 12px 16px; - border-bottom: 1px solid var(--border); - align-items: center; - transition: background 0.2s; -} -.dir-entry:last-child { border-bottom: none; } -.dir-entry:hover { background: rgba(0, 107, 127, 0.02); } -@media (prefers-color-scheme: dark) { - .dir-entry:hover { background: rgba(0, 152, 181, 0.06); } -} - -.dir-type-d { color: var(--cyan); } -.dir-type-f { color: var(--text-dim); } -.dir-type-a { color: var(--orange); } - -.dir-folder { color: var(--heading); border: none; font-weight: 600; } -.dir-folder:hover { color: var(--cyan); border: none; background: none; } -.dir-file { border: none; color: var(--text); } -.dir-asset { color: var(--orange); border: none; } - -.dir-col-date { color: var(--text-dim); font-size: 13px; font-family: var(--font-mono); } -.dir-col-size { color: var(--text-dim); font-size: 13px; text-align: right; font-family: var(--font-mono); } - -.dir-readme { - margin-bottom: 32px; - padding: 32px; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-md); - box-shadow: var(--shadow); -} -.dir-readme h1::before { display: inline-block; } - -.divider { - border: none; - border-top: 1px solid var(--border); - margin: 32px 0; -} - -/* ═══ HOME PAGE ═══ */ - -.ascii-art { - color: var(--text-dim); - white-space: pre; - font-family: var(--font-mono); - font-size: 12px; - margin-bottom: 24px; - line-height: 1.4; - opacity: 0.7; -} - -.subtitle { - color: var(--text-dim); - margin-bottom: 48px; - font-size: 16px; - font-weight: 400; + background: var(--fg) !important; + color: var(--bg) !important; + text-transform: uppercase; } +/* --- THE HOME DOMAINS (DASHBOARD GRID) --- */ .domain-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: 20px; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)) !important; + gap: 3vw !important; + margin-top: 5vh; } - .domain-card { - display: flex; - flex-direction: column; - padding: 24px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - color: var(--text); - border-bottom: 1px solid var(--border); - transition: all 0.2s ease; + border: 1px solid rgba(255,255,255,0.2) !important; + padding: 3rem !important; + display: flex !important; + flex-direction: column; + position: relative; + overflow: hidden; + background: transparent !important; + transition: border-color 0.3s !important; + border-radius: 0 !important; + box-shadow: none !important; +} +.domain-card::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; bottom: 0; + background: var(--fg); + transform: scaleY(0); + transform-origin: bottom; + transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1); + z-index: -1; } .domain-card:hover { - border-color: var(--cyan); - background: var(--bg); - box-shadow: var(--shadow); - transform: translateY(-2px); - border-bottom: 1px solid var(--cyan); + border-color: var(--fg) !important; + transform: none !important; +} +.domain-card:hover::before { + transform: scaleY(1); +} +.domain-card:hover * { + color: var(--bg) !important; } .domain-num { - font-family: var(--font-mono); - font-size: 12px; - color: var(--text-dim); - margin-bottom: 8px; - font-weight: 600; + font-family: var(--font-code) !important; + font-size: 1.5rem !important; + color: var(--accent) !important; + margin-bottom: 1rem !important; + background: transparent !important; + padding: 0 !important; } .domain-name { - font-family: var(--font-heading); - font-size: 18px; - font-weight: 700; - color: var(--heading); - margin-bottom: 8px; -} -.domain-count { - font-size: 12px; - color: var(--text-dim); - margin-bottom: 12px; - display: inline-block; - padding: 2px 8px; - background: var(--border); - border-radius: 10px; + font-family: var(--font-display) !important; + font-size: 3rem !important; + font-weight: 800 !important; + text-transform: uppercase; + margin-bottom: 1rem !important; + line-height: 1 !important; + color: var(--fg) !important; } .domain-desc { - font-size: 14px; - color: var(--text-dim); - line-height: 1.6; + font-size: 1.2rem !important; + color: rgba(255,255,255,0.6) !important; } -/* ═══ SEARCH ═══ */ - -.search-form { - display: flex; - gap: 12px; - margin-bottom: 32px; +/* --- DIRECTORY LISTING --- */ +.dir-listing { + margin: 4rem 0 !important; + border: none !important; + border-radius: 0 !important; } - -.search-input-main { - flex: 1; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-md); - color: var(--text); - font-family: var(--font-body); - font-size: 16px; - padding: 12px 16px; - outline: none; - transition: border-color 0.2s, box-shadow 0.2s; +.dir-header { + display: none !important; /* Hide standard table headers for files */ } -.search-input-main:focus { - border-color: var(--cyan); - box-shadow: 0 0 0 3px rgba(0, 107, 127, 0.1); +.dir-entry { + display: flex !important; + align-items: center; + padding: 1rem !important; + border-bottom: 1px solid rgba(255,255,255,0.1) !important; + font-family: var(--font-code) !important; + font-size: 1.2rem !important; + transition: padding-left 0.3s, background 0.3s !important; + background: transparent !important; } -.search-input-main::placeholder { color: var(--text-dim); } - -.btn-search, .btn-save { - background: var(--text); - color: var(--bg); - border: none; - border-radius: var(--radius-md); - padding: 12px 24px; - font-family: var(--font-body); - font-size: 14px; - cursor: pointer; - font-weight: 600; - transition: all 0.2s ease; +.dir-entry:hover { + padding-left: 2rem !important; + background: rgba(0, 255, 204, 0.1) !important; } -.btn-search:hover, .btn-save:hover { - background: var(--cyan); - transform: translateY(-1px); - box-shadow: 0 4px 12px rgba(0, 107, 127, 0.2); +.dir-entry > * { + margin-right: 2rem; } +.dir-folder { color: var(--accent) !important; text-transform: uppercase; font-weight: bold; font-family: var(--font-code) !important; } +.dir-file { color: var(--fg) !important; font-family: var(--font-code) !important;} +.dir-col-size, .dir-col-date { color: rgba(255,255,255,0.4) !important; font-size: 1rem !important; } -.search-count { - color: var(--text-dim); - font-size: 14px; - margin-bottom: 24px; -} - -.search-results { - display: flex; - flex-direction: column; - gap: 20px; -} - -.search-result { - padding: 24px; - border: 1px solid var(--border); - border-radius: var(--radius-md); - background: var(--bg-alt); - transition: all 0.2s ease; -} -.search-result:hover { - border-color: var(--cyan); - background: var(--bg); - box-shadow: var(--shadow); -} - -.result-title { - font-family: var(--font-heading); - font-size: 18px; - font-weight: 700; - color: var(--cyan); - margin-right: 12px; -} -.result-domain { - font-family: var(--font-mono); - font-size: 12px; - color: var(--text-dim); - padding: 2px 8px; - background: var(--border); - border-radius: 4px; -} -.result-score { - font-size: 12px; - color: var(--text-dim); - margin-left: 12px; -} -.result-snippet { - margin-top: 12px; - font-size: 14px; - color: var(--text); - line-height: 1.6; -} -.result-path { - display: block; - margin-top: 8px; - font-size: 12px; - color: var(--text-dim); - font-family: var(--font-mono); -} - -/* ═══ EDIT ═══ */ - -.edit-form { margin-top: 24px; } - -.edit-textarea { - width: 100%; - min-height: 65vh; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-md); - color: var(--text); - font-family: var(--font-mono); - font-size: 14px; - line-height: 1.7; - padding: 20px; - outline: none; - resize: vertical; - tab-size: 4; - transition: border-color 0.2s, box-shadow 0.2s; -} -.edit-textarea:focus { - border-color: var(--cyan); - box-shadow: 0 0 0 3px rgba(0, 107, 127, 0.1); -} - -.edit-actions { - display: flex; - gap: 16px; - margin-top: 20px; - align-items: center; -} - -.btn-edit { - font-size: 13px; - color: var(--text-dim); - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - padding: 6px 16px; - font-weight: 500; - cursor: pointer; - transition: all 0.2s ease; -} -.btn-edit:hover { - background: var(--cyan); - color: var(--bg); - border-color: var(--cyan); -} - -.btn-cancel { - font-size: 14px; - color: var(--text-dim); - padding: 12px 20px; - background: transparent; - border: none; - cursor: pointer; - font-weight: 500; -} -.btn-cancel:hover { color: var(--red); } - -/* ═══ SIDEBAR TOGGLE (mobile) ═══ */ - -.sidebar-toggle { - display: none; - position: fixed; - top: 16px; - left: 16px; - z-index: 100; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - padding: 10px; - cursor: pointer; - flex-direction: column; - gap: 5px; - box-shadow: var(--shadow); -} -.sidebar-toggle span { - display: block; - width: 22px; - height: 2px; - background: var(--text); - border-radius: 1px; -} - -/* ═══ SEARCH SUGGESTIONS ═══ */ - -.search-wrapper { position: relative; } - -.search-suggestions { - display: none; - position: absolute; - top: calc(100% + 4px); - left: 0; - right: 0; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-md); - box-shadow: 0 8px 24px rgba(0,0,0,0.1); - z-index: 60; - max-height: 360px; - overflow-y: auto; -} -@media (prefers-color-scheme: dark) { - .search-suggestions { box-shadow: 0 8px 24px rgba(0,0,0,0.4); } -} - -.suggestion { - display: flex; - flex-direction: column; - padding: 10px 14px; - border: none; - border-bottom: 1px solid var(--border); - font-size: 13px; - transition: background 0.15s; -} -.suggestion:last-child { border-bottom: none; } -.suggestion:hover { background: rgba(0, 107, 127, 0.05); } -.sug-title { color: var(--text); font-weight: 500; } -.sug-domain { color: var(--text-dim); font-size: 11px; font-family: var(--font-mono); margin-top: 2px; } - -/* ═══ SIDEBAR NAV EXTRAS ═══ */ - -.nav-separator { border-top: 1px solid var(--border); margin: 16px 0; } -.nav-link { - display: block; - padding: 8px 12px; - font-size: 13px; - font-weight: 500; - color: var(--text-dim); - border: none; - border-radius: var(--radius-sm); - transition: all 0.2s ease; -} -.nav-link:hover { color: var(--cyan); background: rgba(0, 107, 127, 0.05); transform: translateX(2px); } -.nav-new { color: var(--text); font-weight: 600; background: var(--bg); border: 1px solid var(--border); text-align: center; margin-top: 8px;} -.nav-new:hover { background: var(--text); color: var(--bg); border-color: var(--text); transform: none; } - -/* ═══ PAGE ACTIONS ═══ */ - -.page-actions { display: flex; gap: 12px; } - -/* ═══ TOC ═══ */ - -.page-with-toc { position: relative; } - -.toc { - position: sticky; - top: 32px; - float: right; - width: 260px; - margin-left: 40px; - margin-bottom: 24px; - padding: 20px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - font-size: 13px; - max-height: calc(100vh - 64px); - overflow-y: auto; -} -.toc-title { color: var(--heading); font-weight: 700; margin-bottom: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid var(--border); padding-bottom: 8px;} -.toc ul { list-style: none; margin: 0; padding: 0; } -.toc li { margin-bottom: 4px; } -.toc a { color: var(--text-dim); border: none; display: block; padding: 4px 0; transition: color 0.15s; } -.toc a:hover { color: var(--cyan); background: none; } -.toc-level-2 { padding-left: 8px; } -.toc-level-3 { padding-left: 16px; font-size: 12px; } -.toc-level-4 { padding-left: 24px; font-size: 12px; } -.toc-level-5, .toc-level-6 { display: none; } - -/* ═══ TAGS ═══ */ - -.meta-tag { - background: rgba(139, 107, 133, 0.1); - color: var(--purple); - padding: 2px 8px; - border-radius: 10px; - border: 1px solid rgba(139, 107, 133, 0.2); - font-size: 11px; - font-weight: 500; -} -.meta-tag:hover { background: var(--purple); color: var(--bg); } - -.tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; } -.tag { - padding: 6px 16px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: 20px; - color: var(--purple); - font-size: 13px; - font-weight: 500; - transition: all 0.2s ease; -} -.tag:hover, .tag-active { background: var(--purple); color: var(--bg); border-color: var(--purple); box-shadow: 0 2px 8px rgba(139, 107, 133, 0.3); } - -/* ═══ TRANSCLUSION ═══ */ - -.transclusion { - margin: 24px 0; - padding: 24px; - border: 1px solid var(--border); - border-left: 4px solid var(--cyan); - border-radius: 0 var(--radius-md) var(--radius-md) 0; - background: rgba(0, 107, 127, 0.02); -} -@media (prefers-color-scheme: dark) { - .transclusion { background: rgba(0, 152, 181, 0.05); } -} -.transclusion-header { - font-size: 12px; - color: var(--text-dim); - margin-bottom: 12px; - padding-bottom: 12px; - border-bottom: 1px solid var(--border); - font-family: var(--font-mono); -} -.transclusion-header::before { content: "↗ "; color: var(--cyan); } -.transclusion-error { color: var(--red); font-size: 13px; padding: 12px; border: 1px dashed var(--red); border-radius: var(--radius-sm); background: rgba(180, 80, 70, 0.05); } - -/* ═══ EDITOR TOOLBAR ═══ */ - -.editor-toolbar { - display: flex; - gap: 8px; - align-items: center; - margin-bottom: 16px; - padding: 12px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); -} -.toolbar-btn, .toolbar-upload { - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text); - font-family: var(--font-body); - font-size: 13px; - font-weight: 500; - padding: 6px 12px; - cursor: pointer; - transition: all 0.15s; -} -.toolbar-btn:hover, .toolbar-upload:hover { color: var(--cyan); border-color: var(--cyan); } -.toolbar-hint { font-size: 12px; color: var(--text-dim); margin-left: auto; font-family: var(--font-mono); } - -/* ═══ EDITOR SPLIT ═══ */ - -.editor-split { display: flex; gap: 20px; } -.editor-split .edit-textarea { flex: 1; min-height: 70vh; } -.editor-split.split-active .edit-textarea { width: 50%; min-height: 70vh; } -.preview-pane { - flex: 1; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 24px; - overflow-y: auto; - max-height: 70vh; -} - -/* ═══ FORM ═══ */ - -.form-group { margin-bottom: 20px; } -.form-label { display: block; font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 8px; } -.form-input { - width: 100%; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text); - font-family: var(--font-body); - font-size: 15px; - padding: 12px 16px; - outline: none; - transition: border-color 0.2s, box-shadow 0.2s; -} -.form-input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(0, 107, 127, 0.1); } - -/* ═══ DASHBOARD ═══ */ - -.dash-stats { - display: flex; - gap: 20px; - margin-bottom: 40px; - flex-wrap: wrap; -} -.dash-stat { - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 24px 32px; - display: flex; - flex-direction: column; - align-items: center; - min-width: 140px; - box-shadow: var(--shadow); -} -.dash-stat-num { font-family: var(--font-heading); font-size: 36px; font-weight: 700; color: var(--heading); line-height: 1; margin-bottom: 4px;} -.dash-stat-label { font-size: 12px; font-weight: 600; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; } - -.dash-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); - gap: 32px; -} - -.dash-section { - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 24px; - max-height: 500px; - overflow-y: auto; -} -.dash-section h2 { font-size: 16px; margin: 0 0 16px 0; border: none; padding: 0; } - -.dash-hint { font-size: 12px; color: var(--text-dim); margin-bottom: 16px; font-family: var(--font-mono); } - -.dash-list { display: flex; flex-direction: column; } -.dash-item { - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 12px; - border-bottom: 1px solid var(--border); - font-size: 13px; - border: none; - gap: 12px; - border-radius: var(--radius-sm); -} -.dash-item:hover { background: var(--bg); } -.dash-item-title { color: var(--text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; } -.dash-item-meta { color: var(--text-dim); font-size: 12px; white-space: nowrap; font-family: var(--font-mono); } -.dash-item-meta.broken { color: var(--red); background: rgba(180, 80, 70, 0.1); padding: 2px 6px; border-radius: 4px; } -.git-msg { color: var(--text-dim); font-style: italic; } - -/* ═══ HISTORY ═══ */ - -.history-list { display: flex; flex-direction: column; gap: 8px; } -.history-entry { - display: grid; - grid-template-columns: 90px 1fr auto; - gap: 16px; - padding: 12px 16px; - border: 1px solid var(--border); - border-radius: var(--radius-sm); - background: var(--bg-alt); - font-size: 13px; - align-items: baseline; -} -.history-hash { color: var(--cyan); font-family: var(--font-mono); font-size: 12px; } -.history-msg { color: var(--text); font-weight: 500; } -.history-meta { color: var(--text-dim); font-size: 12px; font-family: var(--font-mono); } - -.diff-view { margin-bottom: 40px; } -.diff-message { color: var(--text); font-size: 14px; font-weight: 500; margin-bottom: 12px; } -.diff-content { - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 20px; - font-size: 13px; - font-family: var(--font-mono); - overflow-x: auto; - white-space: pre; - line-height: 1.6; -} - -/* ═══ RESPONSIVE ═══ */ - -@media (max-width: 900px) { - .layout { grid-template-columns: 1fr; } - - .sidebar { - position: fixed; - top: 0; - left: -320px; - width: 300px; - z-index: 150; - transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); - box-shadow: 4px 0 24px rgba(0,0,0,0.1); - } - @media (prefers-color-scheme: dark) { - .sidebar { box-shadow: 4px 0 24px rgba(0,0,0,0.5); } - } - .sidebar.open { left: 0; } - - .sidebar-toggle { display: flex; } - - .main { - padding: 80px 32px 48px; - } - - .page-header { flex-direction: column; align-items: flex-start; gap: 8px;} - - .dir-header, .dir-entry { - grid-template-columns: 24px 1fr 80px; - } - .dir-col-size { display: none; } - - .domain-grid { grid-template-columns: 1fr; } - .toc { float: none; width: 100%; margin: 0 0 24px 0; position: static; max-height: none; } - .dash-grid { grid-template-columns: 1fr; } - .editor-split.split-active { flex-direction: column; } - .editor-split.split-active .edit-textarea { width: 100%; min-height: 40vh; } - .preview-pane { max-height: 40vh; } - .history-entry { grid-template-columns: 1fr; gap: 6px; } -} - -@media (max-width: 480px) { - .main { padding: 80px 20px 32px; } - h1 { font-size: 28px; } - h2 { font-size: 20px; } - .search-form { flex-direction: column; } - .dash-stats { flex-direction: column; } - .dash-stat { width: 100%; } -} - -/* ═══ TRANSITIONS ═══ */ - -@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } } -.main { animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1); } - -/* ═══ PRINT STYLESHEET ═══ */ - -@media print { - .sidebar, .sidebar-toggle, .btn-edit, .btn-cancel, .btn-save, .btn-search, - .editor-toolbar, .edit-actions, .search-form, .page-actions, .toc, - .nav-link, .nav-new, .graph-controls, .backlinks { display: none !important; } - .layout { display: block !important; } - .main { max-width: 100% !important; padding: 0 !important; border: none !important; animation: none !important; } - body { background: white !important; color: black !important; font-size: 11pt; } - h1, h2, h3, h4, h5, h6 { color: black !important; } - h1::before { content: none !important; } - a { color: black !important; border: none !important; text-decoration: underline; } - a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #666; } - a.wikilink::after, a.nav-domain::after { content: none; } - pre, code { background: #f5f5f5 !important; color: black !important; border: 1px solid #ddd !important; } - table, th, td { border-color: #ccc !important; } - th { background: #eee !important; color: black !important; } - h1 { page-break-before: auto; } - .page-content { page-break-inside: auto; } - img { max-width: 100% !important; } -} - -/* ═══ COLORED DIFF ═══ */ - -.diff-line { display: block; padding: 2px 12px; margin: 0 -20px; } -.diff-add { color: #2A5A35; background: rgba(90, 140, 100, 0.15); } -.diff-del { color: var(--red); background: rgba(180, 80, 70, 0.15); } -@media (prefers-color-scheme: dark) { - .diff-add { color: #85C096; background: rgba(90, 140, 100, 0.25); } - .diff-del { color: #E89A92; background: rgba(180, 80, 70, 0.25); } -} -.diff-hunk { color: var(--cyan); background: rgba(0, 107, 127, 0.08); font-weight: 600; } -.diff-ctx { color: var(--text-dim); } - -/* ═══ DRAFT BANNER ═══ */ - -.draft-banner { - background: rgba(190, 159, 60, 0.1); - border: 1px solid var(--yellow); - border-radius: var(--radius-md); - padding: 12px 20px; - margin-bottom: 24px; - font-size: 14px; - display: flex; - align-items: center; - gap: 16px; -} -.draft-banner-text { color: var(--yellow); flex: 1; font-weight: 500; } -.draft-banner-btn { - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text); - font-family: var(--font-body); - font-size: 13px; - font-weight: 500; - padding: 6px 12px; - cursor: pointer; -} -.draft-banner-btn:hover { background: var(--text); color: var(--bg); } - -/* ═══ SHORTCUTS HELP ═══ */ - -.shortcuts-overlay { - display: none; - position: fixed; - bottom: 24px; - right: 24px; - z-index: 200; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 20px; - font-size: 13px; - min-width: 240px; - box-shadow: 0 12px 40px rgba(0,0,0,0.15); -} -@media (prefers-color-scheme: dark) { - .shortcuts-overlay { box-shadow: 0 12px 40px rgba(0,0,0,0.5); } -} -.shortcuts-overlay.visible { display: block; animation: fadeIn 0.2s; } -.shortcuts-overlay h4 { font-size: 14px; margin-bottom: 12px; border-bottom: 1px solid var(--border); padding-bottom: 8px;} -.shortcut-row { display: flex; justify-content: space-between; padding: 4px 0; align-items: center; } -.shortcut-key { color: var(--text); background: var(--bg); padding: 2px 8px; font-size: 11px; font-family: var(--font-mono); border: 1px solid var(--border); border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); } - -/* ═══ COMMAND PALETTE ═══ */ - +/* --- COMMAND PALETTE --- */ .cmd-overlay { - position: fixed; - inset: 0; - background: rgba(0,0,0,0.4); - backdrop-filter: blur(2px); - z-index: 400; + background: rgba(5,5,5,0.9) !important; + backdrop-filter: blur(10px); } .cmd-palette { - position: fixed; - top: 15%; - left: 50%; - transform: translateX(-50%); - width: 600px; - max-width: 95vw; - z-index: 401; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-lg); - box-shadow: 0 24px 64px rgba(0,0,0,0.2); - overflow: hidden; -} -@media (prefers-color-scheme: dark) { - .cmd-palette { box-shadow: 0 24px 64px rgba(0,0,0,0.6); } + background: var(--bg) !important; + border: 2px solid var(--accent) !important; + box-shadow: 20px 20px 0 var(--fg) !important; + border-radius: 0 !important; + top: 20% !important; } .cmd-input { - width: 100%; - background: transparent; - border: none; - border-bottom: 1px solid var(--border); - color: var(--heading); - font-family: var(--font-body); - font-size: 18px; - padding: 20px 24px; - outline: none; + font-family: var(--font-display) !important; + font-size: 3rem !important; + text-transform: uppercase; + color: var(--accent) !important; + padding: 2rem !important; + border-bottom: 2px dashed rgba(255,255,255,0.2) !important; } -.cmd-input::placeholder { color: var(--text-dim); } -.cmd-results { max-height: 400px; overflow-y: auto; background: var(--bg-alt); } .cmd-result { - display: flex; - justify-content: space-between; - align-items: center; - padding: 14px 24px; - border: none; - border-bottom: 1px solid var(--border); - font-size: 14px; - cursor: pointer; + padding: 1.5rem 2rem !important; + font-family: var(--font-code) !important; + font-size: 1.2rem !important; + border-bottom: 1px solid rgba(255,255,255,0.1) !important; } -.cmd-result:last-child { border-bottom: none; } -.cmd-result:hover, .cmd-result.active { background: var(--bg); border-left: 3px solid var(--cyan); padding-left: 21px; } -.cmd-result-title { color: var(--heading); font-weight: 500; } -.cmd-result-type { color: var(--text-dim); font-size: 12px; font-family: var(--font-mono); background: var(--border); padding: 2px 8px; border-radius: 4px; } -.cmd-empty { padding: 32px; color: var(--text-dim); font-size: 14px; text-align: center; font-style: italic; } - -/* ═══ SCROLL PROGRESS BAR ═══ */ - -.scroll-progress { - position: fixed; - top: 0; - left: 0; - height: 3px; - width: 0; - background: var(--cyan); - z-index: 500; - transition: width 0.1s; - box-shadow: 0 0 8px rgba(0, 107, 127, 0.4); +.cmd-result.active, .cmd-result:hover { + background: var(--accent) !important; + color: var(--bg) !important; + border-left: none !important; +} +.cmd-result.active *, .cmd-result:hover * { + color: var(--bg) !important; } -/* ═══ CODE COPY BUTTON ═══ */ - -.code-copy-btn { - position: absolute; - top: 12px; - right: 12px; - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text-dim); - font-family: var(--font-mono); - font-size: 11px; - padding: 4px 8px; - cursor: pointer; - opacity: 0; - transition: all 0.2s ease; -} -pre:hover .code-copy-btn { opacity: 1; } -.code-copy-btn:hover { color: var(--cyan); border-color: var(--cyan); background: var(--bg-alt); } - -/* ═══ LIGHTBOX ═══ */ - -.lightbox-overlay { - position: fixed; - inset: 0; - background: rgba(0,0,0,0.9); - backdrop-filter: blur(4px); - z-index: 600; - display: flex; - align-items: center; - justify-content: center; - cursor: zoom-out; -} -.lightbox-img { - max-width: 90vw; - max-height: 90vh; - border: 1px solid var(--border); - border-radius: var(--radius-md); - box-shadow: 0 12px 48px rgba(0,0,0,0.5); - cursor: default; -} - -/* ═══ MINIMAP ═══ */ - +/* --- MINIMAP MUTATION --- */ .minimap { - position: fixed; - right: 16px; - top: 120px; - width: 12px; - height: 120px; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: 6px; - z-index: 30; - overflow: hidden; + right: 0 !important; + top: 0 !important; + width: 5vw !important; + height: 100vh !important; + border: none !important; + background: repeating-linear-gradient( + 0deg, + transparent, + transparent 10px, + rgba(255,255,255,0.05) 10px, + rgba(255,255,255,0.05) 20px + ) !important; + border-left: 1px solid rgba(255,255,255,0.1) !important; + border-radius: 0 !important; } -.minimap-dot { - position: absolute; - left: 2px; - width: 6px; - height: 4px; - background: var(--cyan); - cursor: pointer; - border-radius: 2px; - opacity: 0.6; -} -.minimap-dot:hover { opacity: 1; background: var(--heading); } .minimap-viewport { - position: absolute; - left: 0; - width: 100%; - height: 20px; - background: rgba(0, 107, 127, 0.1); - border: 1px solid rgba(0, 107, 127, 0.3); - pointer-events: none; - border-radius: 2px; + background: var(--accent) !important; + opacity: 0.3 !important; + border: none !important; + mix-blend-mode: screen; } -/* ═══ ACTIVITY FEED ═══ */ - -.activity-feed { display: flex; flex-direction: column; } -.activity-entry { - display: flex; - align-items: flex-start; - gap: 16px; - padding: 16px 0; - border-bottom: 1px solid var(--border); +/* --- BUTTONS --- */ +button, .btn-search, .btn-save, .btn-edit, .btn-cancel, .toolbar-btn { + background: transparent !important; + color: var(--accent) !important; + border: 1px solid var(--accent) !important; + font-family: var(--font-code) !important; + font-size: 1rem !important; + text-transform: uppercase; + padding: 1rem 2rem !important; + cursor: pointer; + transition: all 0.3s !important; + box-shadow: 4px 4px 0 rgba(0, 255, 204, 0.3) !important; + border-radius: 0 !important; } -.activity-entry:last-child { border-bottom: none; } -.activity-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); margin-top: 6px; flex-shrink: 0; box-shadow: 0 0 0 4px var(--bg-alt); } -.activity-content { flex: 1; min-width: 0; } -.activity-title { display: block; font-size: 14px; font-weight: 500; color: var(--heading); margin-bottom: 4px; } -.activity-meta { font-size: 12px; color: var(--text-dim); font-family: var(--font-mono); } - -/* ═══ TOC ACTIVE ═══ */ - -.toc a.toc-active { color: var(--cyan); font-weight: 600; border-left: 2px solid var(--cyan); padding-left: 6px; margin-left: -8px;} - -/* ═══ LOGIN ═══ */ - -.login-container { - display: flex; - align-items: center; - justify-content: center; - min-height: 100vh; - background: var(--bg); -} -.login-box { - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-lg); - padding: 48px; - width: 420px; - max-width: 90vw; - box-shadow: var(--shadow); -} -.login-box h1 { text-align: center; margin-bottom: 32px; font-size: 28px; } -.login-box h1::before { display: none; } -.login-error { color: var(--red); font-size: 14px; margin-bottom: 16px; background: rgba(180, 80, 70, 0.1); padding: 12px; border-radius: var(--radius-sm); text-align: center; } -.login-box .form-group { margin-bottom: 24px; } -.login-box .btn-save { width: 100%; padding: 14px; font-size: 16px; } - -/* ═══ LINK TOOLTIP ═══ */ - -.link-tooltip { - position: absolute; - z-index: 200; - background: var(--bg-alt); - border: 1px solid var(--border); - border-radius: var(--radius-md); - padding: 16px; - max-width: 360px; - font-size: 13px; - line-height: 1.6; - pointer-events: none; - box-shadow: 0 12px 32px rgba(0,0,0,0.2); -} -@media (prefers-color-scheme: dark) { - .link-tooltip { box-shadow: 0 12px 32px rgba(0,0,0,0.6); } +button:hover, .btn-search:hover, .btn-save:hover, .btn-edit:hover, .toolbar-btn:hover { + background: var(--accent) !important; + color: var(--bg) !important; + box-shadow: 0px 0px 0 transparent !important; + transform: translate(4px, 4px) !important; } -/* ═══ STALE WARNING ═══ */ - -.meta-stale { - background: rgba(180, 80, 70, 0.1); - color: var(--red); - padding: 2px 8px; - font-size: 11px; - border-radius: 4px; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; +/* --- EDIT TEXTAREA --- */ +.edit-textarea { + background: transparent !important; + border: 1px dashed rgba(255,255,255,0.3) !important; + color: var(--accent) !important; + font-family: var(--font-code) !important; + font-size: 1.2rem !important; + padding: 2rem !important; + border-radius: 0 !important; +} +.edit-textarea:focus { + border-style: solid !important; + border-color: var(--accent) !important; + box-shadow: inset 0 0 50px rgba(0, 255, 204, 0.1) !important; + outline: none !important; } -/* ═══ FIX BTN ═══ */ - -.fix-btn { - background: var(--bg); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text-dim); - font-family: var(--font-body); - font-size: 11px; - padding: 4px 10px; - cursor: pointer; - margin-left: 12px; - transition: all 0.2s; +/* --- BREADCRUMBS & META --- */ +.breadcrumb { + font-family: var(--font-code) !important; + font-size: 1rem !important; + text-transform: uppercase; + color: rgba(255,255,255,0.5) !important; + margin-bottom: 2rem !important; } -.fix-btn:hover { background: var(--text); color: var(--bg); border-color: var(--text); } - -/* ═══ COMMENTS ═══ */ - -.comments-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border); } -.comments-section h3 { font-size: 16px; color: var(--heading); margin-bottom: 20px; font-family: var(--font-heading); } -.comment { padding: 16px 20px; margin-bottom: 12px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-md); position: relative; } -.comment-meta { font-size: 12px; color: var(--text-dim); margin-bottom: 8px; font-family: var(--font-mono); } -.comment-content { font-size: 14px; line-height: 1.6; color: var(--text); } -.comment-form { margin-top: 24px; } -.comment-input { - width: 100%; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); - color: var(--text); font-family: var(--font-body); font-size: 14px; padding: 12px; outline: none; resize: vertical; transition: border-color 0.2s; +.breadcrumb a { + box-shadow: none !important; + border-bottom: 1px solid rgba(255,255,255,0.3) !important; } -.comment-input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(0, 107, 127, 0.1); } -.comment-del-btn { position: absolute; top: 12px; right: 12px; background: none; border: none; color: var(--text-dim); font-size: 11px; cursor: pointer; font-family: var(--font-mono); padding: 4px; border-radius: 4px; } -.comment-del-btn:hover { color: var(--red); background: rgba(180, 80, 70, 0.1); } -/* ═══ SIMILAR PAGES ═══ */ +.page-meta { + font-family: var(--font-code) !important; + border-top: 1px solid rgba(255,255,255,0.1) !important; + border-bottom: 1px solid rgba(255,255,255,0.1) !important; + padding: 1rem 0 !important; + margin-bottom: 4rem !important; + display: flex; + gap: 2rem; +} -.similar-pages { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border); } -.similar-pages h3 { font-size: 16px; color: var(--heading); margin-bottom: 16px; font-family: var(--font-heading); } -.similar-list { display: flex; flex-wrap: wrap; gap: 12px; } -.similar-item { font-size: 13px; padding: 8px 14px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-md); transition: all 0.2s; } -.similar-item:hover { border-color: var(--cyan); background: var(--bg); box-shadow: var(--shadow); transform: translateY(-1px); } -.similar-domain { color: var(--text-dim); font-size: 11px; margin-left: 8px; font-family: var(--font-mono); } +/* Scrolling ticker effect for something? Let's add a fixed ticker at the bottom */ +.scroll-progress { + top: auto !important; + bottom: 0 !important; + height: 1vh !important; + background: var(--blood) !important; + box-shadow: 0 0 20px var(--blood) !important; +} -/* ═══ HEALTH BARS ═══ */ +/* Hide some mobile things since this is an art piece */ +.sidebar-toggle { display: none !important; } -.health-table { width: 100%; font-size: 13px; border-collapse: collapse; border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; } -.health-table th { text-align: left; color: var(--heading); font-weight: 600; padding: 12px 16px; border-bottom: 1px solid var(--border); background: var(--bg-alt); } -.health-table td { padding: 12px 16px; border-bottom: 1px solid var(--border); } -.health-table tr:last-child td { border-bottom: none; } -.health-bar { height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; width: 80px; display: inline-block; vertical-align: middle; } -.health-fill { height: 100%; border-radius: 4px; } -.health-good { background: #5A8C64; } -.health-mid { background: var(--yellow); } -.health-low { background: var(--red); } \ No newline at end of file +/* Subtitle ascii art */ +.ascii-art { + font-size: 0.8rem !important; + color: var(--blood) !important; + line-height: 1.1 !important; + text-shadow: 2px 2px 0px rgba(255,0,85,0.3) !important; + font-family: var(--font-code) !important; +} + +.subtitle { + font-family: var(--font-code) !important; + font-size: 1.5vw !important; + color: var(--accent) !important; + text-transform: uppercase; +} + +/* Table of contents floating madness */ +.toc { + position: fixed !important; + left: 2vw !important; + top: 50vh !important; + width: 12vw !important; + background: transparent !important; + border: none !important; + border-left: 2px solid var(--accent) !important; + border-radius: 0 !important; + padding: 0 0 0 1rem !important; +} +.toc-title { color: var(--fg) !important; font-family: var(--font-code) !important; border: none !important;} +.toc a { font-family: var(--font-code) !important; font-size: 0.9rem !important; text-transform: uppercase; box-shadow: none !important; } +.toc a.toc-active { color: var(--accent) !important; font-weight: bold !important; border: none !important; margin: 0 !important; padding-left: 0 !important;} +.toc a:hover { color: var(--blood) !important; background: transparent !important; } + +/* Let's make the search suggestions massive */ +.search-suggestions { + bottom: 100% !important; + top: auto !important; + background: var(--bg) !important; + border: 1px solid var(--accent) !important; + box-shadow: 10px -10px 0 var(--fg) !important; + border-radius: 0 !important; +} +.suggestion { + font-family: var(--font-code) !important; + font-size: 1.2rem !important; + padding: 1rem !important; + border-bottom: 1px solid rgba(255,255,255,0.1) !important; +} +.suggestion:hover { + background: var(--accent) !important; +} +.suggestion:hover * { + color: var(--bg) !important; +} + +/* Misc overrides */ +.transclusion { + background: transparent !important; + border: 1px solid var(--accent) !important; + border-radius: 0 !important; + box-shadow: 10px 10px 0 var(--blood) !important; +} +.dash-stat { + background: transparent !important; + border: 1px solid rgba(255,255,255,0.2) !important; + border-radius: 0 !important; + box-shadow: none !important; +} +.dash-stat-num { + font-family: var(--font-display) !important; + color: var(--accent) !important; +}