From 7023e4c7c8f158df78b5e71ddc2640290409eca1 Mon Sep 17 00:00:00 2001 From: chers Date: Fri, 31 Jul 2026 09:18:39 +0000 Subject: Update cl-bbs --- static/styles/themes/colored.css | 6 + static/styles/themes/default.css | 288 ++++++++++++++++++++++++++ static/styles/themes/light.css | 287 ++++++++++++++++++++++++++ static/styles/themes/matrix.css | 423 +++++++++++++++++++++++++++++++++++++++ static/styles/themes/no.css | 1 + 5 files changed, 1005 insertions(+) create mode 100644 static/styles/themes/colored.css create mode 100644 static/styles/themes/default.css create mode 100644 static/styles/themes/light.css create mode 100644 static/styles/themes/matrix.css create mode 100644 static/styles/themes/no.css (limited to 'static/styles/themes') diff --git a/static/styles/themes/colored.css b/static/styles/themes/colored.css new file mode 100644 index 0000000..487d414 --- /dev/null +++ b/static/styles/themes/colored.css @@ -0,0 +1,6 @@ +@import url("default.css"); + +/* Extra styles for random theme */ +dd { + transition: background-color 0.3s ease; +} diff --git a/static/styles/themes/default.css b/static/styles/themes/default.css new file mode 100644 index 0000000..79bcd8b --- /dev/null +++ b/static/styles/themes/default.css @@ -0,0 +1,288 @@ +@import url("../common.css"); + +body { + margin: 0; + padding: 0; + background-color: #1c2023; + color: #95aec7; + font-family: serif; + font-size: 100%; +} +/* Board Name */ +h1 { + margin: 0.5em 2% 0.3em 2%; + padding: 0; + font-size: 2em; + font-weight: bold; +} +/* Headlines */ +h2 { + margin: 0.5em 2%; + padding: 0.5em 0 0 0; + font-size: 1.5em; + font-weight: bold; + overflow-wrap: break-word; + word-wrap: break-word; +} +/* Links */ +h2 samp { + font-size: 0.66em; +} +hr { + border: 0; + margin: 0; + padding: 0; + height: 1px; + background-color: #716356; + color: #716356; +} +p.newthread { + margin: 1em 2% 2em 2%; + padding: 1em 2%; + background-color: #202427; +} +/* boardlist */ +p.boardlist { + margin: 0.8em 2% 0 2%; + font-size: 0.8em; + color: #999; +} + +/* menu */ +p.nav { + margin: 0.5em 2% 0.5em 2%; + padding: 0; + font-size: .9em; + font-style: italic; +} +/* thread navigation */ +pre.jump { + margin: 0 2% -1em 0; + padding: 0; + font-size: 1em; + font-family: serif; + font-weight: bold; + word-spacing: 1em; + text-align: right; +} +pre.jump a { +text-decoration: none; +} +a, a:visited, a:active { + color: #c7ae95; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a:target { + background-color: #22272a; + text-decoration: underline; +} +dl { + margin: 0.5em 2% 0 2%; + padding: 0; +} +dt { + margin: 0; + padding: 0; +} +/* post number */ +dt a { + font-size: 1.4em; +} +/* post date */ +dt code { + font-size: 1em; + font-family: monospace; + color: #8bafd2; +} +dt samp { + font-size: 1em; + font-family: monospace; + color: #8bafd2; + margin-left: 1%; +} + +dd { + margin: 0 2%; + padding: 0; + line-height: 1.4em; +} +dd p { + margin: 1em 0; + padding: 0; + background-color: transparent; + word-wrap: break-word; +} + +dd pre, dd code { + font-size: 1em; + font-family: monospace; +} + +dd pre { + margin: 1.2em 0; + padding: 2px; + color: #95aec7; + background-color: #1f2427; + line-height: 1.4em; + overflow: auto; +} +blockquote { + border-left: solid 2px #859774; + margin: 1em 0 1em 0; + padding: 0 0 0 1em; + background-color: inherit; + color: #9aae86; +} +blockquote:hover { + background-color: #252b2f; +} + +/* spoilers */ +del { + background-color: #95aec7; + text-decoration: none; +} +del:hover { + background-color: transparent; +} +/* thread list */ +table { + margin: 1em 2%; + padding: 0; + border-collapse: collapse; +} +th { + color: #666666; + background-color: #1c2023; + padding: 0.1em 0.5em; + font-family: monospace; + font-weight: normal; + text-align: left; + font-size: 1em; +} +td { + border: 0; + padding: 0.1em 0.5em; + line-height: 1em; +} + +tr:nth-child(odd) { + background: #252a2e; +} +tr:hover { + background-color: #536883; +} +td p, td pre, td blockquote { + margin: .5em 0; +} + +/* forms */ + +textarea { + margin: 0.2em 0 0.2em 0; + border: 1px solid #334a68; + padding: 2px; + max-width: 98%; + color: #95aec7; + background-color: #293035; + font-size: 1em; + font-family: monospace; +} +input[type=text] { + margin: 0.2em 0 0.5em 0; + border: 1px solid #334a68; + background-color: #293035; + color: #95aec7; + padding: 2px; + max-width: 98%; + font-size: 1em; + font-family: monospace; +} +input[type=checkbox] { + border: 1px solid #334a68; + background-color: #293035 !important; + vertical-align: middle; + margin: 0 2px; +} + +fieldset.comment { + display: none; +} +/* preferences */ +fieldset { + border: none; +} +ul { + margin: 0 0 1em 0; + padding: 0 0 1em 1em; +} +/* flash messages */ +p.flash { + background: transparent; + color: red; +} + +/* New Thread Form Styling */ +.newthread-form { + margin: 1.5em 2% 2em 2%; + padding: 1.5em 2%; + background-color: #202427; + border: 1px solid #334a68; + border-radius: 4px; + max-width: 600px; +} +.newthread-form h2 { + margin: 0 0 1em 0; + padding: 0; + color: #c7ae95; +} +.newthread-form p { + margin: 0.5em 0; +} +.newthread-form input[type=text], .newthread-form textarea { + width: 100%; + box-sizing: border-box; + padding: 8px; + font-size: 1em; + border: 1px solid #334a68; + background-color: #293035; + color: #95aec7; + border-radius: 4px; +} +p.footer { +font-size: 0.9em; +font-family: monospace; +background: transparent; +text-align: center; +} + +/* Dark Error page styling */ +.error-container { + background-color: #202427; + color: #95aec7; + border-left: 5px solid #ff3333; + font-family: inherit; +} + +.error-container .error-title { + color: #ff5555; +} + +.error-back-button { + background-color: #293035; + color: #95aec7; + border: 1px solid #334a68; +} + +.error-back-button:hover { + background-color: #536883; +} + +/* Dark Moderation Panel styling overrides */ +body.moderation .comment-preview { + background-color: #202427; + border-left: 3px solid #334a68; +} diff --git a/static/styles/themes/light.css b/static/styles/themes/light.css new file mode 100644 index 0000000..0e4ee47 --- /dev/null +++ b/static/styles/themes/light.css @@ -0,0 +1,287 @@ +@import url("../common.css"); + +body { + margin: 0; + padding: 0; + background-color: white; + color: #000000; + font-family: serif; + font-size: 100%; +} +/* Board Name */ +h1 { + margin: 0.5em 2% 0.3em 2%; + padding: 0; + font-size: 2em; + font-weight: bold; +} +/* Headlines */ +h2 { + margin: 0.5em 2%; + padding: 0.5em 0 0 0; + font-size: 1.5em; + font-weight: bold; + overflow-wrap: break-word; + word-wrap: break-word; +} +/* Links */ +h2 samp { + font-size: 0.66em; +} +hr { + border: 0; + margin: 0; + padding: 0; + height: 1px; + background-color: #aaaaaa; + color: #aaaaaa; +} +p.newthread { + margin: 1em 2% 2em 2%; + padding: 1em 2%; + background-color: #efefef; +} +/* menu */ +p.nav { + margin: 0.5em 2% 0.5em 2%; + padding: 0; + font-size: .9em; + font-style: italic; + background-color: white; +} +/* thread navigation */ +pre.jump { + margin: 0 2% -1em 0; + padding: 0; + background-color: white; + font-size: 1em; + font-family: serif; + font-weight: bold; + word-spacing: 1em; + text-align: right; +} +pre.jump a { +text-decoration: none; +} +a, a:visited, a:active { + color: #882200; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a:target { + background-color: #f3f3f3; + text-decoration: underline; +} +dl { + margin: 0.5em 2% 0 2%; + padding: 0; +} +dt { + margin: 0; + padding: 0; +} +/* post number */ +dt a { + font-size: 1.4em; +} +/* post date */ +dt code { + font-size: 1em; + font-family: monospace; + color: #555555; +} +dt samp { + font-size: 1em; + font-family: monospace; + margin-left: 1%; +} + +dd { + margin: 0 2%; + padding: 0; + line-height: 1.4em; +} +dd p { + margin: 1em 0; + padding: 0; + background-color: transparent; + word-wrap: break-word; +} + +dd pre, dd code { + font-size: 1em; + font-family: monospace; +} + +dd pre { + margin: 1.2em 0; + padding: 2px; + background-color: #f7f7f7; + line-height: 1.4em; + overflow: auto; +} +blockquote { + border-left: solid 2px #cccccc; + margin: 1em 0 1em 0; + padding: 0 0 0 1em; + background-color: inherit; + color: #555555; +} +blockquote:hover { + background-color: #fafafa; +} + +/* spoilers */ +del { + background-color: #200200; + text-decoration: none; +} +del:hover { + background-color: transparent; +} +/* thread list */ +table { + margin: 1em 2%; + padding: 0; + border-collapse: collapse; +} +th { + color: #666666; + padding: 0.1em 0.5em; + font-family: monospace; + font-weight: normal; + text-align: left; + font-size: 1em; +} +td { + border: 0; + padding: 0.1em 0.5em; +// background-color: #fafafa; + line-height: 1em; +} + +tr:nth-child(odd) { + background: #fafafa; +} +tr:hover { + background-color: yellow; +} +td p, td pre, td blockquote { + margin: .5em 0; +} + +/* forms */ + +textarea { + margin: 0.2em 0 0.2em 0; + border: 1px solid #bababa; + padding: 2px; + max-width: 98%; + //overflow: hidden; + + font-size: 1em; + font-family: monospace; +} +input[type=text] { + margin: 0.2em 0 0.5em 0; + border: 1px solid #bababa; + padding: 2px; + max-width: 98%; + font-size: 1em; + font-family: monospace; +} +input[type=checkbox] { + border: 1px solid #bababa; + vertical-align: middle; + margin: 0 2px; +} + +fieldset.comment { + display: none; +} +/* preferences */ +fieldset { + border: none; +} +ul { + margin: 0 0 1em 0; + padding: 0 0 1em 1em; +} +/* flash messages */ +p.flash { + background: transparent; + color: red; +} + +p.footer { +font-size: 0.9em; +font-family: monospace; +background: transparent; +text-align: center; +} + +/* New Thread Form Styling */ +.newthread-form { + margin: 1.5em 2% 2em 2%; + padding: 1.5em 2%; + background-color: #fcfcfc; + border: 1px solid #e2e2e2; + border-radius: 4px; + max-width: 600px; +} +.newthread-form h2 { + margin: 0 0 1em 0; + padding: 0; +} +.newthread-form p { + margin: 0.5em 0; +} +.newthread-form input[type=text], .newthread-form textarea { + width: 100%; + box-sizing: border-box; + padding: 8px; + font-size: 1em; + border: 1px solid #bababa; + border-radius: 4px; +} +/* Mobile Responsiveness Rules */ +@media (max-width: 768px) { + body { + padding: 0.5em 1em; + } + h1 { + font-size: 1.8em; + margin: 0.5em 0 0.3em 0; + } + h2 { + font-size: 1.3em; + margin: 0 0 0.5em 0; + } + p.nav { + margin: 0.5em 0; + line-height: 1.5em; + } + dl { + margin: 0.5em 0; + } + dd { + margin: 0 0 1em 0; + } + textarea, input[type=text] { + width: 100% !important; + max-width: 100% !important; + box-sizing: border-box; + } + table { + display: block; + width: 100%; + overflow-x: auto; + margin: 1em 0; + } + th, td { + padding: 0.2em 0.4em; + font-size: 0.9em; + } +} diff --git a/static/styles/themes/matrix.css b/static/styles/themes/matrix.css new file mode 100644 index 0000000..b1e3766 --- /dev/null +++ b/static/styles/themes/matrix.css @@ -0,0 +1,423 @@ +@import url("../common.css"); + +body { + margin: 0; + padding: 0; + background-color: #0d0d0d; + color: #00ff41; + font-family: "Courier New", Courier, monospace; + font-size: 100%; + animation: pulse-glow 4s infinite alternate; + text-shadow: 0 0 3px #00ff41; +} + +@keyframes pulse-glow { + 0% { + text-shadow: 0 0 1px #00ff41, 0 0 3px #00ff41; + } + 100% { + text-shadow: 0 0 2px #00ff41, 0 0 4px #008f11, 0 0 8px #003b00; + } +} + +/* Board Name */ +h1 { + margin: 0.5em 2% 0.3em 2%; + padding: 0; + font-size: 2em; + font-weight: bold; + color: #d1ffdf; + text-shadow: 0 0 5px #00ff41, 0 0 10px #00ff41; + animation: glitch 1.5s ease-in-out infinite alternate; +} + +@keyframes glitch { + 0% { transform: translate(0) } + 20% { transform: translate(-2px, 1px) } + 40% { transform: translate(-1px, -1px) } + 60% { transform: translate(2px, 1px) } + 80% { transform: translate(1px, -1px) } + 100% { transform: translate(0) } +} + +/* Headlines */ +h2 { + margin: 0.5em 2%; + padding: 0.5em 0 0 0; + font-size: 1.5em; + font-weight: bold; + overflow-wrap: break-word; + word-wrap: break-word; + color: #a4ffbd; + text-shadow: 0 0 4px #00ff41; +} + +/* Links */ +h2 samp { + font-size: 0.66em; +} +hr { + border: 0; + margin: 1em 0; + padding: 0; + height: 1px; + background: linear-gradient(to right, #0d0d0d, #00ff41, #0d0d0d); +} + +p.newthread { + margin: 1em 2% 2em 2%; + padding: 1em 2%; + background-color: #051405; + border: 1px solid #00ff41; +} + +/* boardlist */ +p.boardlist { + margin: 0.8em 2% 0 2%; + font-size: 0.8em; + color: #008f11; +} + +div.newthread-form { + border: 1px solid #008f11; + padding: 1em; + margin: 1em 2%; + background-color: rgba(0, 59, 0, 0.2); + box-shadow: inset 0 0 5px #003b00; + transition: all 0.3s ease; +} + +div.newthread-form:hover { + box-shadow: inset 0 0 10px #008f11; + border-color: #00ff41; +} + + +/* menu */ +p.nav { + margin: 0.5em 2% 0.5em 2%; + padding: 0; + font-size: .9em; + font-style: italic; + font-weight: bold; + background-color: #0d0d0d; +} + +/* thread navigation */ +pre.jump { + margin: 0 2% -1em 0; + padding: 0; + background-color: transparent; + font-size: 1em; + font-family: inherit; + font-weight: bold; + word-spacing: 1em; + text-align: right; +} +pre.jump a { + text-decoration: none; + color: #d1ffdf; + transition: text-shadow 0.2s; +} + +pre.jump a:hover { + text-shadow: 0 0 8px #00ff41; +} + +a, a:visited, a:active { + color: #d1ffdf; + text-decoration: none; + font-weight: bold; + transition: color 0.3s, text-shadow 0.3s; +} +a:hover { + color: #ffffff; + text-shadow: 0 0 5px #00ff41, 0 0 10px #00ff41; + text-decoration: underline dashed #00ff41; +} +a:target { + background-color: #003b00; + text-decoration: underline dashed #00ff41; +} +dl { + margin: 0.5em 2% 0 2%; + padding: 0; +} +dt { + margin: 0; + padding: 0; +} +/* post number */ +dt a { + font-size: 1.4em; + color: #008f11; + text-shadow: none; +} +dt a:hover { + color: #00ff41; +} + +/* post date */ +dt code { + font-size: 1em; + font-family: inherit; + color: #008f11; + text-shadow: none; +} +dt samp { + font-size: 1em; + font-family: inherit; + margin-left: 1%; + color: #00ff41; + text-shadow: none; + font-weight: bold; +} + +dd { + margin: 0 2% 1em 2%; + padding: 1em; + line-height: 1.4em; + background: rgba(0, 255, 65, 0.03); + border-left: 2px solid #008f11; + transition: background 0.3s, border-color 0.3s; +} + +dd:hover { + background: rgba(0, 255, 65, 0.08); + border-left: 2px solid #00ff41; +} + +dd p { + margin: 1em 0; + padding: 0; + background-color: transparent; + word-wrap: break-word; +} + +dd pre, dd code { + font-size: 1em; + font-family: monospace; + text-shadow: none !important; +} + +dd pre { + margin: 1.2em 0; + padding: 10px; + background-color: rgba(0, 0, 0, 0.8); + border: 1px dotted #008f11; + line-height: 1.4em; + overflow: auto; + color: #00ff41; +} +blockquote { + border-left: dashed 2px #008f11; + margin: 1em 0 1em 0; + padding: 0 0 0 1em; + background-color: rgba(0, 59, 0, 0.3); + color: #8cffab; + font-style: italic; +} +blockquote:hover { + background-color: rgba(0, 89, 0, 0.4); +} + +/* spoilers */ +del { + background-color: #000; + color: #000; + text-decoration: none; + transition: all 0.5s ease; + user-select: none; +} +del:active, del:hover { + background-color: transparent; + color: #00ff41; + text-shadow: 0 0 3px #00ff41; +} + +/* thread list */ +table { + margin: 1em 2%; + padding: 0; + border-collapse: collapse; + width: 96%; +} +th { + color: #00ff41; + padding: 0.5em; + font-family: inherit; + font-weight: bold; + text-align: left; + font-size: 1em; + border-bottom: 1px solid #008f11; + text-transform: uppercase; +} +td { + border: 0; + border-bottom: 1px dashed #003b00; + padding: 0.8em 0.5em; + line-height: 1.2em; +} + +tr:nth-child(odd) { + background: rgba(0, 255, 65, 0.05); +} +tr:hover { + background-color: rgba(0, 255, 65, 0.2); +} +td p, td pre, td blockquote { + margin: .5em 0; +} + +/* forms */ + +textarea, input[type=text] { + margin: 0.2em 0 0.2em 0; + border: 1px solid #008f11; + padding: 5px; + max-width: 98%; + font-size: 1em; + font-family: inherit; + background-color: black; + color: #00ff41; +} + +textarea:focus, input[type=text]:focus { + outline: none; + border-color: #00ff41; + box-shadow: 0 0 5px rgba(0, 255, 65, 0.5); +} + +input[type=submit], button, .lisp-btn { + font-family: inherit; + font-weight: bold; + font-size: 1em; + margin: 0.6em 0; + border: 1px solid #00ff41; + padding: 5px 15px; + background-color: black; + color: #00ff41; + cursor: pointer; + text-transform: uppercase; + transition: all 0.2s; + box-shadow: 0 0 3px #008f11; +} + +input[type=submit]:hover, button:hover, .lisp-btn:hover { + background-color: #00ff41; + color: black; + box-shadow: 0 0 8px #00ff41; +} + +input[type=submit]:active, button:active, .lisp-btn:active { + transform: scale(0.95); +} + +input[type=submit]:disabled, button:disabled, .lisp-btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +input[type=checkbox] { + border: 1px solid #00ff41; + vertical-align: middle; + margin: 0 2px; + background-color: black; +} + +fieldset.comment { + display: none; +} +/* preferences */ +fieldset { + border: 1px solid #008f11; + padding: 1em; + margin-top: 1em; +} + +legend { + color: #00ff41; + font-weight: bold; + padding: 0 5px; +} + +select { + background-color: black; + color: #00ff41; + border: 1px solid #008f11; + padding: 3px; + font-family: inherit; +} + +select:focus { + outline: none; + border-color: #00ff41; + box-shadow: 0 0 5px rgba(0, 255, 65, 0.4); +} + + +ul { + margin: 0 0 1em 0; + padding: 0 0 1em 2em; + list-style-type: square; +} + +li { + margin-bottom: 0.5em; +} + +/* flash messages */ +p.flash { + background: rgba(255, 0, 0, 0.2); + color: #ff3333; + border: 1px solid #ff0000; + padding: 10px; + text-shadow: none; +} + +p.footer { + font-size: 0.8em; + font-family: inherit; + background: transparent; + text-align: center; + color: #00aa1a; + text-shadow: none; + margin-top: 3em; + border-top: 1px solid #003b00; + padding-top: 1em; +} + +/* Matrix Error page styling */ +.error-container { + background-color: #0d0d0d; + color: #00ff41; + border-left: 5px solid #00ff41; + box-shadow: 0 0 5px #003b00; + font-family: inherit; +} + +.error-container .error-title { + color: #ff3333; + text-shadow: 0 0 3px #ff3333; +} + +.error-back-button { + background-color: black; + color: #00ff41; + border: 1px solid #00ff41; + box-shadow: 0 0 3px #008f11; +} + +.error-back-button:hover { + background-color: #00ff41; + color: black; + box-shadow: 0 0 8px #00ff41; +} + +/* Matrix Moderation Panel styling overrides */ +body.moderation .comment-preview { + background-color: rgba(0, 59, 0, 0.2); + border-left: 3px solid #008f11; + box-shadow: inset 0 0 3px #003b00; +} +\n.lisp-code-block {\n text-shadow: none !important;\n} diff --git a/static/styles/themes/no.css b/static/styles/themes/no.css new file mode 100644 index 0000000..1bf0411 --- /dev/null +++ b/static/styles/themes/no.css @@ -0,0 +1 @@ +@import url("../common.css"); -- cgit v1.2.3