: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 !important; } #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; }