diff options
Diffstat (limited to 'static/css/styles.css')
| -rw-r--r-- | static/css/styles.css | 128 |
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); } |
