456 lines
12 KiB
SCSS
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; }
|
|
}
|