Files

456 lines
12 KiB
SCSS

/* ═══════════════════════════════════════════════════════════════
CATPPUCCIN MOCHA ULTRA — info-board.win
Warm charcoal. Pastel accents. Inviting and beautiful.
The theme for those who want personality with professionalism.
═══════════════════════════════════════════════════════════════ */
.d-header,
#main-outlet,
html body {
--ct-base: #1e1e2e;
--ct-mantle: #181825;
--ct-crust: #11111b;
--ct-s0: #313244;
--ct-s1: #45475a;
--ct-s2: #585b70;
--ct-ov0: #6c7086;
--ct-ov1: #7f849c;
--ct-sub: #bac2de;
--ct-text: #cdd6f4;
--ct-lav: #b4befe;
--ct-blue: #89b4fa;
--ct-blue-dim: rgba(137,180,250,0.1);
--ct-sap: #74c7ec;
--ct-teal: #94e2d5;
--ct-green: #a6e3a1;
--ct-yellow: #f9e2af;
--ct-peach: #fab387;
--ct-maroon: #eba0ac;
--ct-red: #f38ba8;
--ct-mauve: #cba6f7;
--ct-mauve-dim: rgba(203,166,247,0.12);
--ct-pink: #f5c2e7;
--ct-rose: #f2cdcd;
--ct-radius: 8px;
--ct-radius-lg: 13px;
--ct-t: 0.15s ease;
}
/* ── LAYOUT ── */
#main-outlet .wrap,
.d-header .wrap {
max-width: 1420px;
padding: 0 36px;
}
body {
font-family: -apple-system, "Inter", "Segoe UI", system-ui, sans-serif;
font-size: 15px;
line-height: 1.65;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* ── HEADER ── */
.d-header {
background: var(--ct-mantle) !important;
border-bottom: 1px solid var(--ct-s0) !important;
box-shadow: 0 1px 0 rgba(203,166,247,0.08), 0 4px 20px rgba(0,0,0,0.35) !important;
height: 62px;
}
.d-header-icons .btn.icon,
.d-header .icons .btn.icon {
color: var(--ct-ov1) !important;
border-radius: var(--ct-radius);
transition: color var(--ct-t), background var(--ct-t);
}
.d-header-icons .btn.icon:hover,
.d-header .icons .btn.icon:hover {
color: var(--ct-mauve) !important;
background: var(--ct-mauve-dim) !important;
}
/* ── NAV ── */
.nav-pills .nav-item a {
color: var(--ct-ov1) !important;
border-radius: var(--ct-radius);
font-weight: 500;
font-size: 0.875rem;
padding: 6px 14px;
transition: all var(--ct-t);
}
.nav-pills .nav-item.active a,
.nav-pills .nav-item a:hover {
color: var(--ct-mauve) !important;
background: var(--ct-mauve-dim) !important;
}
/* ── SIDEBAR ── */
.sidebar-wrapper {
background: var(--ct-mantle) !important;
border-right: 1px solid var(--ct-s0) !important;
}
.sidebar-sections .sidebar-section-header-wrapper button {
color: var(--ct-ov0) !important;
font-size: 0.67rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.sidebar-sections .sidebar-section-link-wrapper a {
color: var(--ct-ov1) !important;
border-radius: var(--ct-radius);
font-size: 0.875rem;
font-weight: 500;
padding: 6px 10px;
border-left: 2px solid transparent;
transition: all var(--ct-t);
}
.sidebar-sections .sidebar-section-link-wrapper a:hover {
color: var(--ct-text) !important;
background: var(--ct-s0) !important;
}
.sidebar-sections .sidebar-section-link-wrapper a.active {
color: var(--ct-mauve) !important;
background: var(--ct-mauve-dim) !important;
border-left-color: var(--ct-mauve);
font-weight: 600;
}
/* ── TOPIC LIST ── */
.topic-list thead th {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--ct-ov0) !important;
border-bottom: 1px solid var(--ct-s0) !important;
background: transparent !important;
padding: 10px 12px;
}
.topic-list tbody .topic-list-item {
border-bottom: 1px solid rgba(49,50,68,0.6) !important;
transition: background var(--ct-t);
}
.topic-list tbody .topic-list-item:hover {
background: rgba(49,50,68,0.45) !important;
}
.topic-list .main-link a.title,
.topic-list .link-top-line a.title {
color: var(--ct-text) !important;
font-weight: 600;
font-size: 0.925rem;
line-height: 1.4;
transition: color var(--ct-t);
}
.topic-list .main-link a.title:hover,
.topic-list .link-top-line a.title:hover {
color: var(--ct-mauve) !important;
}
.topic-list .link-bottom-line { margin-top: 5px; }
.topic-list .topic-excerpt {
color: var(--ct-ov0) !important;
font-size: 0.8rem;
line-height: 1.5;
margin-top: 4px;
}
.topic-list .num a,
.topic-list .num { color: var(--ct-ov1) !important; font-size: 0.82rem; }
/* ── CATEGORY LIST ── */
.category-list thead th {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--ct-ov0) !important;
border-bottom: 1px solid var(--ct-s0) !important;
background: transparent !important;
padding: 10px 12px;
}
.category-list tbody tr {
border-bottom: 1px solid rgba(49,50,68,0.5) !important;
transition: background var(--ct-t);
}
.category-list tbody tr:hover { background: rgba(49,50,68,0.4) !important; }
.category-list td.category .category-name a {
color: var(--ct-text) !important;
font-weight: 700;
font-size: 0.975rem;
transition: color var(--ct-t);
}
.category-list td.category .category-name a:hover { color: var(--ct-mauve) !important; }
.category-list td.category .category-description,
.category-list td.category p {
color: var(--ct-ov0) !important;
font-size: 0.82rem;
margin-top: 4px;
line-height: 1.5;
}
/* ── POST CONTENT ── */
.cooked {
font-size: 0.95rem;
line-height: 1.82;
color: var(--ct-text) !important;
}
.cooked p { margin: 0 0 1em; }
.cooked a {
color: var(--ct-blue) !important;
text-decoration: none;
border-bottom: 1px solid rgba(137,180,250,0.3);
transition: border-color var(--ct-t);
}
.cooked a:hover { border-bottom-color: var(--ct-blue); }
.cooked h1, .cooked h2, .cooked h3,
.cooked h4, .cooked h5, .cooked h6 {
font-weight: 700;
line-height: 1.3;
margin: 1.75em 0 0.65em;
padding-bottom: 8px;
border-bottom: 1px solid var(--ct-s0);
}
.cooked h1 { font-size: 1.7rem; color: var(--ct-mauve) !important; font-weight: 800; }
.cooked h2 { font-size: 1.35rem; color: var(--ct-lav) !important; }
.cooked h3 { font-size: 1.1rem; color: var(--ct-blue) !important; }
.cooked h4 { font-size: 0.975rem; color: var(--ct-sap) !important; border-bottom: none; }
.cooked h5, .cooked h6 { font-size: 0.9rem; color: var(--ct-teal) !important; border-bottom: none; }
.cooked code:not(pre code) {
background: var(--ct-s0) !important;
color: var(--ct-peach) !important;
border: 1px solid var(--ct-s1) !important;
border-radius: 5px;
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
font-size: 0.84em;
padding: 2px 7px;
}
.cooked pre {
background: var(--ct-crust) !important;
border: 1px solid var(--ct-s0) !important;
border-left: 4px solid var(--ct-mauve) !important;
border-radius: 0 var(--ct-radius) var(--ct-radius) 0;
padding: 20px 22px;
margin: 18px 0;
overflow-x: auto;
}
.cooked pre code {
background: transparent !important;
border: none !important;
padding: 0 !important;
color: var(--ct-green) !important;
font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;
font-size: 0.875rem;
line-height: 1.72;
}
.cooked blockquote {
border-left: 4px solid var(--ct-pink) !important;
background: rgba(245,194,231,0.06) !important;
border-radius: 0 var(--ct-radius) var(--ct-radius) 0;
padding: 14px 20px;
margin: 18px 0;
color: var(--ct-sub) !important;
font-style: italic;
}
.cooked blockquote p { margin: 0; }
.cooked ul, .cooked ol { padding-left: 1.5em; margin: 0.75em 0; }
.cooked li { margin: 0.35em 0; }
.cooked table {
border-collapse: collapse;
width: 100%;
margin: 18px 0;
border: 1px solid var(--ct-s0);
border-radius: var(--ct-radius);
overflow: hidden;
}
.cooked table th {
background: var(--ct-s0) !important;
color: var(--ct-mauve) !important;
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 11px 16px;
border-bottom: 2px solid var(--ct-s1) !important;
text-align: left;
}
.cooked table td {
padding: 10px 16px;
border-bottom: 1px solid rgba(49,50,68,0.6) !important;
}
.cooked table tr:last-child td { border-bottom: none !important; }
.cooked table tr:nth-child(even) td { background: rgba(49,50,68,0.35) !important; }
.cooked hr { border: none; border-top: 1px solid var(--ct-s0); margin: 24px 0; }
/* ── TOPIC TITLE ── */
.fancy-title, #topic-title h1, .title-wrapper h1 {
font-size: 1.55rem;
font-weight: 800;
line-height: 1.28;
letter-spacing: -0.02em;
color: var(--ct-text) !important;
}
/* ── BUTTONS ── */
.btn { border-radius: var(--ct-radius) !important; font-weight: 600; font-size: 0.875rem; transition: all var(--ct-t); }
.btn-primary {
background: var(--ct-mauve) !important;
color: var(--ct-crust) !important;
border: none !important;
box-shadow: 0 2px 12px rgba(203,166,247,0.35);
}
.btn-primary:hover {
background: #d9b8fc !important;
box-shadow: 0 4px 20px rgba(203,166,247,0.5) !important;
}
.btn-default {
background: var(--ct-s0) !important;
border: 1px solid var(--ct-s1) !important;
color: var(--ct-text) !important;
}
.btn-default:hover {
background: var(--ct-s1) !important;
border-color: var(--ct-mauve) !important;
color: var(--ct-mauve) !important;
}
/* ── POST ACTIONS ── */
.post-controls .actions .btn {
color: var(--ct-ov0) !important;
background: transparent !important;
border-radius: var(--ct-radius) !important;
padding: 5px 10px;
font-size: 0.82rem;
transition: all var(--ct-t);
}
.post-controls .actions .btn:hover {
color: var(--ct-mauve) !important;
background: var(--ct-mauve-dim) !important;
}
.post-controls .actions .btn.like-button.has-like .d-icon { color: var(--ct-pink) !important; }
/* ── TAGS ── */
.discourse-tag {
background: var(--ct-mauve-dim) !important;
color: var(--ct-mauve) !important;
border: 1px solid rgba(203,166,247,0.25) !important;
border-radius: 20px !important;
font-size: 0.72rem;
font-weight: 600;
padding: 3px 10px !important;
transition: all var(--ct-t);
}
.discourse-tag:hover { background: rgba(203,166,247,0.2) !important; }
/* ── BADGE ── */
.badge-notification {
background: var(--ct-mauve) !important;
color: var(--ct-crust) !important;
border-radius: 10px;
font-size: 0.68rem;
font-weight: 700;
padding: 2px 7px;
}
/* ── COMPOSER ── */
.d-editor-textarea-wrapper {
border-radius: var(--ct-radius) !important;
border-color: var(--ct-s0) !important;
background: var(--ct-s0) !important;
overflow: hidden;
}
.d-editor-input {
font-family: "JetBrains Mono", "Fira Code", "Consolas", monospace !important;
font-size: 0.9rem !important;
line-height: 1.65 !important;
}
.d-editor-preview { background: var(--ct-crust) !important; border-left: 1px solid var(--ct-s0) !important; }
/* ── INPUTS ── */
input[type="text"], input[type="email"],
input[type="password"], textarea, select {
border-radius: var(--ct-radius) !important;
padding: 8px 12px !important;
border-color: var(--ct-s1) !important;
background: var(--ct-s0) !important;
transition: border-color var(--ct-t), box-shadow var(--ct-t);
}
input:focus, textarea:focus, select:focus {
border-color: var(--ct-mauve) !important;
box-shadow: 0 0 0 3px rgba(203,166,247,0.15) !important;
outline: none !important;
}
/* ── USER CARD ── */
.user-card, .group-card {
border-radius: var(--ct-radius-lg) !important;
box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
border: 1px solid var(--ct-s1) !important;
}
/* ── NOTIFICATIONS ── */
.notification.unread { background: rgba(203,166,247,0.06) !important; border-left: 2px solid var(--ct-mauve) !important; }
/* ── STATUS ICONS ── */
.topic-status .d-icon-thumbtack { color: var(--ct-yellow) !important; }
.topic-status .d-icon-lock { color: var(--ct-ov0) !important; }
/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--ct-mantle); }
::-webkit-scrollbar-thumb { background: var(--ct-s1); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--ct-ov0); }
/* ── RESPONSIVE ── */
@media (max-width: 1100px) { #main-outlet .wrap, .d-header .wrap { padding: 0 20px; } }
@media (max-width: 768px) {
body { font-size: 14px; }
.fancy-title, #topic-title h1 { font-size: 1.2rem; }
.cooked { font-size: 0.9rem; }
#main-outlet .wrap, .d-header .wrap { padding: 0 14px; }
}