Spaces:
Running
Running
| :root { | |
| --bg: #0b0f14; | |
| --card: #121a2f; | |
| --muted: #8aa0b5; | |
| --text: #e8f0f7; | |
| --accent: #23d18b; | |
| --accent-2: #5aa7ff; | |
| --danger: #ff5d5d; | |
| --warning: #ffd166; | |
| --border: #1e2a3a; | |
| --chip: #152234; | |
| } | |
| .page { | |
| display: grid; | |
| grid-template-columns: 260px 1fr; | |
| gap: 16px; | |
| /* max-width: 1200px; | |
| margin: 0 auto;*/ | |
| padding: 3vw; | |
| padding-top:10vw; | |
| } | |
| header.topbar { | |
| grid-column: 1 / -1; | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| padding: 12px 16px; | |
| border-radius: 14px; | |
| position: sticky; | |
| top: 0; | |
| } | |
| header.topbar h1 { | |
| font-size: 18px; | |
| margin: 0 8px 0 0; | |
| letter-spacing: .2px; | |
| } | |
| .searchbar { | |
| display: flex; | |
| gap: 8px; | |
| align-items: center; | |
| margin-left: auto; | |
| width: 50%; | |
| } | |
| .searchbar input[type="search"], .searchbar select { | |
| width: 100%; | |
| padding: 10px 12px; | |
| background: #0b121c; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| color: var(--text); | |
| outline: none; | |
| } | |
| .searchbar select { width: auto } | |
| .btn { | |
| padding: 10px 14px; | |
| border-radius: 12px; | |
| border: 1px solid transparent; | |
| background: var(--accent); | |
| color: #032314; | |
| font-weight: 600; | |
| cursor: pointer; | |
| } | |
| .btn.ghost { background: transparent; color: var(--text); border-color: var(--border) } | |
| .btn.warn { background: var(--warning); color: #2a2300 } | |
| aside.sidebar { | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| padding: 12px; | |
| position: sticky; | |
| top: 64px; | |
| height: max-content; | |
| } | |
| .block { margin-bottom: 16px } | |
| .block h3 { margin: 0 0 8px; font-size: 13px; color: var(--muted); letter-spacing: .5px } | |
| .cat-list, .tag-list, .ticker-list { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .cat { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 8px 10px; | |
| border-radius: 10px; | |
| background: #0b121c; | |
| border: 1px solid var(--border); | |
| cursor: pointer; | |
| } | |
| .cat.active { outline: 2px solid var(--accent-2) } | |
| .tag-list .tag, .ticker { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| padding: 6px 10px; | |
| border-radius: 999px; | |
| background: var(--chip); | |
| color: #cfe3ff; | |
| width: max-content; | |
| border: 1px solid var(--border); | |
| cursor: pointer; | |
| } | |
| .ticker small { color: var(--muted) } | |
| main.content { display: grid; gap: 16px; } | |
| .panel { | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| padding: 12px; | |
| } | |
| .toolbar { | |
| display: flex; | |
| gap: 8px; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| margin-bottom: 8px; | |
| } | |
| .toolbar .pill { | |
| padding: 6px 10px; | |
| border-radius: 999px; | |
| background: #0b121c; | |
| border: 1px solid var(--border); | |
| color: var(--muted) | |
| } | |
| .threads { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| /* max-height: 480px;*/ | |
| overflow: auto; | |
| padding-right: 4px; | |
| } | |
| .thread { | |
| padding: 12px; | |
| border-radius: 12px; | |
| background: #0b121c; | |
| border: 1px solid var(--border); | |
| display: grid; | |
| gap: 6px; | |
| cursor: pointer; | |
| } | |
| .thread:hover { border-color: #28456b } | |
| .thread .title { font-weight: 700 } | |
| .meta { | |
| display: flex; | |
| gap: 10px; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| color: var(--muted); | |
| font-size: 12px; | |
| } | |
| .chips { display: flex; gap: 6px; flex-wrap: wrap } | |
| .chip { | |
| padding: 4px 8px; | |
| border-radius: 999px; | |
| background: #0f1a29; | |
| border: 1px solid var(--border); | |
| font-size: 12px | |
| } | |
| .chip.green { background: #0f2a1f; color: #9af6c9; border-color: #1c3c2d } | |
| .stats { margin-left: auto; display: flex; gap: 8px } | |
| .view { display: grid; gap: 8px; } | |
| .post { | |
| background: #0b121c; | |
| border: 1px solid var(--border); | |
| border-radius: 12px; | |
| padding: 10px; | |
| } | |
| .post .head { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 12px } | |
| .post .body { margin-top: 6px } | |
| .editor { | |
| display: grid; | |
| gap: 8px; | |
| background: #0b121c; | |
| border: 1px dashed #2a3a52; | |
| padding: 12px; | |
| border-radius: 12px; | |
| } | |
| textarea { | |
| width: 100%; | |
| min-height: 120px; | |
| resize: vertical; | |
| padding: 10px 12px; | |
| background: #09111a; | |
| color: var(--text); | |
| border: 1px solid var(--border); | |
| border-radius: 10px; | |
| outline: none; | |
| } | |
| .tiny { font-size: 12px; color: var(--muted); } | |
| .note { padding: 8px; background: #101a28; border: 1px solid #1b2b43; border-radius: 10px; color: #b9d7ff } | |
| /* Modal safety overrides */ | |
| #modal { z-index: 1000 ; } | |
| #modal > div { | |
| background: rgba(17,23,35,.98); /* slightly brighter than pure black for clarity */ | |
| box-shadow: 0 20px 60px rgba(0,0,0,.6); | |
| } | |
| /* responsive */ | |
| @media (max-width: 960px) { | |
| .page { grid-template-columns: 1fr } | |
| aside.sidebar { position: static } | |
| header.topbar { position: static } | |
| } | |
| .thread .body-text { | |
| white-space: pre-wrap; | |
| color: var(--text); | |
| font-size: 13px; | |
| } | |
| .thread .actions { | |
| display: flex; | |
| gap: 8px; | |
| margin-top: 6px; | |
| } | |
| .thread .actions .btn.ghost { | |
| border-color: var(--border); | |
| background: #0b121c; | |
| color: var(--muted); | |
| padding: 6px 10px; | |
| } | |
| .thread .actions .count { | |
| opacity: .8; | |
| margin-left: 4px; | |
| } | |
| .thread .reply { | |
| margin-top: 8px; | |
| background: #0b121c; | |
| border: 1px dashed #2a3a52; | |
| padding: 8px; | |
| border-radius: 10px; | |
| } | |
| .thread .reply textarea { | |
| min-height: 80px; | |
| } | |