/* ═══════════════════════════════════════════════════════════════ 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; } }