summaryrefslogtreecommitdiff
path: root/static/css/styles.css
diff options
context:
space:
mode:
Diffstat (limited to 'static/css/styles.css')
-rw-r--r--static/css/styles.css128
1 files changed, 128 insertions, 0 deletions
diff --git a/static/css/styles.css b/static/css/styles.css
new file mode 100644
index 0000000..53f7abd
--- /dev/null
+++ b/static/css/styles.css
@@ -0,0 +1,128 @@
+:root {
+ --bg: #0d1b2a;
+ --panel: #1b263b;
+ --ink: #e0e1dd;
+ --muted: #8d99ae;
+ --accent: #48cae4;
+ --accent-2: #ffd166;
+ --error: #ef476f;
+ --ok: #06d6a0;
+}
+
+* { box-sizing: border-box; }
+
+body {
+ margin: 0;
+ background: var(--bg);
+ color: var(--ink);
+ font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
+ line-height: 1.5;
+}
+
+.container {
+ max-width: 760px;
+ margin: 0 auto;
+ padding: 1.5rem 1rem 3rem;
+}
+
+a { color: var(--accent); }
+a:hover { color: var(--accent-2); }
+
+h1 { font-size: 1.4rem; margin: 0 0 .5rem; }
+h2 { color: var(--accent); }
+hr { border: none; border-top: 1px dashed var(--muted); margin: 1rem 0; }
+
+header nav {
+ display: flex;
+ align-items: center;
+ gap: .35rem;
+ flex-wrap: wrap;
+}
+.spacer { flex: 1 1 auto; }
+
+.nick-form {
+ display: flex;
+ align-items: center;
+ gap: .35rem;
+}
+.nick-form label { color: var(--muted); }
+
+input, textarea, button {
+ font: inherit;
+ border: 1px solid var(--muted);
+ background: var(--panel);
+ color: var(--ink);
+ padding: .35rem .5rem;
+}
+input:focus, textarea:focus { outline: 2px solid var(--accent); }
+button {
+ cursor: pointer;
+ background: var(--accent);
+ color: var(--bg);
+ border-color: var(--accent);
+ font-weight: bold;
+}
+button:hover { background: var(--accent-2); border-color: var(--accent-2); }
+
+.marquee { color: var(--accent-2); background: var(--panel); padding: .25rem; }
+
+pre {
+ background: var(--panel);
+ padding: .75rem;
+ overflow-x: auto;
+}
+
+.info { padding: .5rem .75rem; margin: .5rem 0; }
+.success { background: rgba(6, 214, 160, .15); border: 1px solid var(--ok); }
+.error { background: rgba(239, 71, 111, .15); border: 1px solid var(--error); }
+
+.status { color: var(--muted); }
+.status.ok { color: var(--ok); }
+
+/* chat */
+.chat-log {
+ height: 20vh;
+ overflow-y: auto;
+ background: var(--panel);
+ padding: .75rem;
+ margin-bottom: .75rem;
+}
+.chat-line { margin: .15rem 0; word-wrap: break-word; }
+.chat-line.mine .chat-nick { color: var(--accent-2); }
+.chat-nick { color: var(--accent); font-weight: bold; }
+.chat-time { color: var(--muted); font-size: .75rem; }
+.chat-system { color: var(--muted); font-style: italic; margin: .25rem 0; }
+.chat-form { display: flex; gap: .5rem; }
+.chat-form input { flex: 1 1 auto; }
+
+/* guestbook */
+.guestbook-form { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
+.guestbook-form textarea { width: 100%; min-height: 4rem; }
+.guestbook-entries { list-style: none; padding: 0; }
+.guestbook-entries li { background: var(--panel); padding: .5rem .75rem; margin: .5rem 0; }
+.entry-message { white-space: pre-wrap; word-wrap: break-word; }
+.entry-meta { color: var(--muted); font-size: .8rem; margin-top: .25rem; }
+
+/* portal */
+.portal-form { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; margin: .75rem 0; }
+.rename-form { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin: .5rem 0; }
+.roster { list-style: none; padding: 0; }
+.roster li { padding: .15rem 0; }
+.legend { color: var(--muted); font-size: .85rem; display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
+.dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: var(--muted); vertical-align: middle; }
+.dot.chat { background: var(--ok); }
+.dot.network { background: var(--accent-2); }
+.dot.offline { background: var(--muted); }
+.whoami { color: var(--accent-2); font-weight: bold; }
+.whoami:hover { color: var(--accent); }
+.muted { color: var(--muted); }
+code { background: var(--panel); padding: .1rem .3rem; }
+
+/* canvas / r-place */
+.palette { display: flex; flex-wrap: wrap; gap: 4px; margin: .5rem 0; }
+.swatch { width: 26px; height: 26px; border: 2px solid var(--panel); border-radius: 4px; cursor: pointer; }
+.swatch.selected { border-color: var(--ink); }
+.canvas-wrap { overflow: auto; max-width: 100%; }
+#canvas { image-rendering: pixelated; cursor: crosshair; border: 2px solid var(--muted); touch-action: none; }
+
+footer { color: var(--muted); }