Jump to content

MediaWiki:Common.css: Difference between revisions

From Once Human Guide
No edit summary
No edit summary
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* ================= NAV ================= */
/* =============================================================
 
  COMMON.CSS
.navtable{
  Sections:
    1. Navigation
    2. Tab System
    3. Dropdown System
        3a. Container
        3b. Button
        3c. List & Items
        3d. Scrollbar
    4. Output Panel (Tech Bench Style)
    5. Cleanup / Utility Overrides
    6. Main Page Redesign (shared / Design A / Design B)
  ============================================================= */
/* ================= 1. NAVIGATION ================= */
.navtable {
  margin: 0 auto;
   border: none;
   border: none;
  border-collapse: collapse;
   text-align: center;
   text-align: center;
  margin: 0 auto;
  border-collapse: collapse;
}
}
 
.navcell {
.navcell{
   padding: 0 18px 10px;
   padding: 0 18px 10px 18px;
   vertical-align: top;
   vertical-align: top;
}
}
 
.navimg img {
.navimg img{
   display: block;
   display:block;
   margin: 0 auto;
   margin:0 auto;
}
}
 
.navicon {
.navicon{
   display: flex;
   display:flex;
   align-items: flex-end;
   align-items:flex-end;
   justify-content: center;
   justify-content:center;
   width: 200px;
   width: 200px;
}
}
 
.navicon--row1 { height: 150px; }
.navicon--row1{ height: 150px; }
.navicon--row2 { height: 200px; }
.navicon--row2{ height: 200px; }
.navlabel {
 
.navlabel{
  text-align: center;
   width: 100%;
   width: 100%;
   margin-top: 4px;
   margin-top: 4px;
  text-align: center;
  font-weight: 800;
   line-height: 1.05;
   line-height: 1.05;
  font-weight: 800;
}
}
 
.navlabel--tight { margin-top: 2px; }
.navlabel--tight{ margin-top: 2px; }
 
.navicon--empty,
.navicon--empty,
.navlabel--empty{
.navlabel--empty {
   visibility:hidden;
   visibility: hidden;
}
}
body.page-Main_Page h1.firstHeading {
body.page-Main_Page h1.firstHeading {
   display: none;
   display: none;
}
}
 
/* ================= 2. TAB SYSTEM ================= */
/* ================= TAB SYSTEM ================= */
 
.mw-tab-buttons {
.mw-tab-buttons {
   display: flex;
   display: flex;
  flex-wrap: wrap;
  justify-content: center;
   gap: 8px;
   gap: 8px;
   margin-bottom: 10px;
   margin-bottom: 12px;
  flex-wrap: wrap;
}
}
.mw-tab-btn {
.mw-tab-btn {
  min-width: 90px;
   padding: 8px 14px;
   padding: 8px 14px;
   background: #111;
   background: #111;
Line 62: Line 66:
   border: 1px solid #444;
   border: 1px solid #444;
   border-radius: 6px;
   border-radius: 6px;
  font-weight: bold;
  text-align: center;
   cursor: pointer;
   cursor: pointer;
  font-weight: bold;
}
}
.mw-tab-btn:hover {
.mw-tab-btn:hover {
   border-color: #00bfff;
   border-color: #00bfff;
   color: #fff;
   color: #fff;
}
}
.mw-tab-btn.active {
.mw-tab-btn.active {
   background: #00bfff;
   background: #00bfff;
   color: #000;
   color: #000;
}
}
.mw-tab-content {
.mw-tab-content {
   display: none;
   display: none;
  overflow: visible !important;
}
}
.mw-tab-content.active {
.mw-tab-content.active {
   display: block;
   display: block;
}
}
 
/* ================= 3. DROPDOWN SYSTEM ================= */
/* ================= DROPDOWN SYSTEM (FIXED) ================= */
/* -- 3a. Container -- */
 
.mw-dropdown-ui {
.custom-dropdown {
   position: relative;
   position: relative;
   display: inline-block;
  width: 100%;
  max-width: 420px;
  margin: 18px auto;
  padding: 14px;
  background: linear-gradient(145deg, #1a1a1a, #111);
  border: 1px solid #333;
  border-radius: 12px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
  box-sizing: border-box;
  overflow: visible;
}
/* Header label (pulls from data-label attribute) */
.mw-dropdown-ui::before {
  content: attr(data-label);
   display: block;
  margin-bottom: 10px;
  color: #00bfff;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
/* Force consistent sizing on children */
.mw-dropdown-ui *,
.mod-dropdown-btn,
.mw-dropdown-output {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
}
 
/* -- 3b. Button -- */
.custom-dropdown-btn {
.mod-dropdown-btn {
   padding: 8px 14px;
   display: flex;
   background: #1e1e1e;
  align-items: center;
   color: #fff;
  justify-content: center;
  height: 42px;
   background: #0f0f0f;
   color: #eee;
   border: 1px solid #444;
   border: 1px solid #444;
   border-radius: 6px;
   border-radius: 6px;
  font-weight: bold;
   cursor: pointer;
   cursor: pointer;
  font-weight: bold;
}
}
 
/* -- 3c. List & Items -- */
/* KEY FIX: removed from layout completely */
.mod-dropdown-list {
.custom-dropdown-list {
  display: none;
   position: absolute;
   position: absolute;
   top: 100%;
   top: 56px;
   left: 0;
   left: 14px;
   min-width: 180px;
  right: 14px;
 
   width: auto;
  max-height: 250px;
   background: #1a1a1a;
   background: #1a1a1a;
   border: 1px solid #444;
   border: 1px solid #444;
   border-radius: 6px;
   border-radius: 6px;
   margin-top: 5px;
   overflow-x: hidden;
 
   overflow-y: auto;
  visibility: hidden;
   z-index: 99999;
   opacity: 0;
  pointer-events: none;
 
   z-index: 9999;
}
}
 
.mod-dropdown-item {
/* Show only when open */
   padding: 8px;
.custom-dropdown.open .custom-dropdown-list {
   color: #ccc;
   visibility: visible;
   border-bottom: 1px solid #222;
   opacity: 1;
  cursor: pointer;
   pointer-events: auto;
}
}
 
.mod-dropdown-item:last-child {
.custom-dropdown-item {
   border-bottom: none;
   padding: 8px 10px;
  cursor: pointer;
  color: #ccc;
}
}
 
.mod-dropdown-item:hover {
.custom-dropdown-item:hover {
   background: #00bfff;
   background: #00bfff;
   color: #000;
   color: #000;
}
}
 
/* -- 3d. Scrollbar -- */
/* ================= REMOVE OLD SYSTEM ================= */
.mod-dropdown-list::-webkit-scrollbar {
 
   width: 6px;
.mw-dropdown-ui,
.mw-dropdown,
.mw-dropdown-list,
.mw-dropdown-content {
   display: none !important;
}
}
 
.mod-dropdown-list::-webkit-scrollbar-thumb {
/* Hide empty containers before JS loads */
  background: #00bfff;
[data-left]:empty,
   border-radius: 3px;
[data-right]:empty {
   display: none !important;
}
}
/* 🔥 HARD KILL ANY EMPTY/INVISIBLE DROPDOWN BLOCK */
/* ================= 4. OUTPUT PANEL (TECH BENCH STYLE) ================= */
.custom-dropdown-list:empty {
.mw-dropdown-output {
   display: none !important;
  min-height: 70px;
  margin-top: 10px;
  padding: 12px;
  background: #0d1319;
  border: 1px solid #1f2a35;
  border-radius: 10px;
  color: #e6edf3;
   font-size: 13px;
}
}
 
.mw-ui-placeholder {
/* 🔥 FORCE dropdown lists OUT of layout */
   color: #666;
.custom-dropdown-list {
  font-style: italic;
   position: absolute !important;
   text-align: center;
   display: none !important;
}
}
 
.mw-ui-title {
/* Show only when JS opens it */
   margin-bottom: 8px;
.custom-dropdown-list[style*="block"] {
  color: #e6edf3;
   display: block !important;
  font-size: 14px;
  font-weight: 700;
}
}
.dropdown-list {
.mw-ui-line {
   position: absolute;
   padding: 6px 0;
  background: #1a1a1a;
   border-top: 1px solid #1a222b;
   border: 1px solid #444;
   color: #9fb0c3;
   padding: 5px;
   font-size: 13px;
   z-index: 9999;
}
}
 
.mw-ui-line:first-of-type {
.dropdown-list div {
   border-top: none;
   padding: 6px;
  cursor: pointer;
}
}
 
/* ================= 5. CLEANUP / UTILITY OVERRIDES ================= */
.dropdown-list div:hover {
.mw-dropdown,
   background: #00bfff;
.mw-dropdown-content {
  color: #000;
   display: none !important;
}
}
/* 🔥 FIX: Remove theme panel styling from dropdown container */
[data-left]:empty,
[data-dropdown-group] {
[data-right]:empty,
  background: transparent !important;
.mw-tab-content div:empty {
  border: none !important;
   display: none !important;
  padding: 0 !important;
   box-shadow: none !important;
}
}
[data-dropdown-group] > div {
/* ================= 6. MAIN PAGE REDESIGN ================= */
   background: transparent !important;
/* -- 6a. Shared -- */
   border: none !important;
.page-Main_Page .firstHeading,
.page-Main_Page #siteSub { display: none; }
.mp-wrap a { text-decoration: none; }
.mp-wrap p { margin: 0; }                /* neutralize MW's auto <p> wrappers */
/* [[File:|class=x]] puts the class ON the <img> element itself */
img.mp-card-img { width: 100%; height: 140px; object-fit: cover; display: block; }
img.mp-tile-img,
img.mp-banner-img {
   position: absolute; top: 0; left: 0;
   width: 100%; height: 100%;
  object-fit: cover; display: block;
}
}
/* -- 6b. Design A: Hero + Card Grid -- */
.mpa { --panel:#161b22; --accent:#f5a623; --accent2:#e8531f;
      --text:#e6edf3; --muted:#9aa7b4; --border:#2a3442;
      background:#0d1117; border-radius:14px; padding:24px; }
.mpa-hero { position:relative; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); padding:48px 40px; color:var(--text);
  background:
    linear-gradient(115deg, rgba(13,17,23,.95) 35%, rgba(13,17,23,.55) 70%, rgba(13,17,23,.25)),
    url("/images/thumb/0/0c/OH_Map.png/1120px-OH_Map.png") center/cover; }
.mpa-hero-title { font-size:2.2em; font-weight:800; margin-bottom:8px; }
.mpa-hero-title .mpa-accent { color:var(--accent); }
.mpa-hero-tag { color:var(--muted); max-width:520px; font-size:1.05em; margin-bottom:22px; }
.mpa-btn { display:inline-block; margin:0 10px 8px 0; }
.mpa-btn a { display:inline-block; padding:10px 20px;
  border-radius:8px; font-weight:600; transition:transform .15s, box-shadow .15s; }
.mpa-btn-primary a { background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#14100a !important; }
.mpa-btn-ghost a { border:1px solid var(--accent); color:var(--accent) !important; }
.mpa-btn a:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(245,166,35,.35); }
.mpa-new { display:inline-block; width:9px; height:9px; border-radius:50%;
  background:#3fd36c; margin-right:7px; animation:mpa-pulse 1.6s infinite; }
@keyframes mpa-pulse {
  0%  { box-shadow:0 0 0 0 rgba(63,211,108,.6); }
  70%  { box-shadow:0 0 0 8px rgba(63,211,108,0); }
  100% { box-shadow:0 0 0 0 rgba(63,211,108,0); } }
.mpa-sec { margin:34px 0 16px; font-size:1.25em; font-weight:700; color:var(--text);
  border-left:5px solid var(--accent); padding-left:14px;
  padding-bottom:6px; border-bottom:1px solid var(--border); }
.mpa-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
.mpa-card { background:var(--panel); border:1px solid var(--border); border-radius:12px;
  overflow:hidden; color:var(--text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mpa-card:hover { transform:translateY(-5px); border-color:var(--accent);
  box-shadow:0 10px 24px rgba(0,0,0,.5), 0 0 14px rgba(245,166,35,.25); }
.mpa-card img.mp-card-img { filter:saturate(.9); transition:filter .18s; }
.mpa-card:hover img.mp-card-img { filter:saturate(1.15); }
.mpa-card-body { padding:12px 14px 14px; }
.mpa-card-title { font-weight:700; margin-bottom:4px; }
.mpa-card-title a { color:var(--text) !important; }
.mpa-card-desc { font-size:.85em; color:var(--muted); line-height:1.4; }
.mpa-footer { margin-top:36px; text-align:center;
  background:#1c2330; border:1px solid var(--border); border-radius:12px; padding:18px; }
.mpa-footer a { color:var(--accent) !important; font-weight:600; padding:6px 14px;
  border-radius:6px; transition:background .15s; display:inline-block; margin:2px 4px; }
.mpa-footer a:hover { background:rgba(245,166,35,.12); }
/* -- 6c. Design B: Dashboard -- */
.mpb { --panel:#131a24; --accent:#42c6ff; --accent2:#7a5cff;
      --text:#e8eef5; --muted:#8b99a9; --border:#243144;
      background:#0a0e14; border-radius:14px; padding:24px; }
.mpb-featured { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; margin-bottom:26px; }
@media (max-width:760px) { .mpb-featured { grid-template-columns:1fr; } }
.mpb-banner { position:relative; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); min-height:230px;
  transition:transform .18s, box-shadow .18s; }
.mpb-banner:hover { transform:scale(1.012); box-shadow:0 0 22px rgba(66,198,255,.3); }
.mpb-banner-overlay { position:absolute; left:0; right:0; bottom:0; padding:22px;
  background:linear-gradient(transparent, rgba(10,14,20,.95) 65%);
  color:var(--text); pointer-events:none; z-index:1; }
.mpb-tag { display:inline-block; font-size:.72em; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; background:var(--accent); color:#06121c;
  border-radius:4px; padding:3px 9px; margin-bottom:8px; }
.mpb-banner-title { font-size:1.5em; font-weight:800; margin-bottom:4px; }
.mpb-banner-desc { color:var(--muted); font-size:.9em; }
.mpb-side { background:var(--panel); border:1px solid var(--border);
  border-radius:14px; padding:18px 20px; }
.mpb-side-h { font-size:1em; text-transform:uppercase; letter-spacing:1px;
  color:var(--accent); font-weight:700; margin-bottom:12px; }
.mpb-side a { display:block; color:var(--text) !important;
  padding:9px 10px; border-radius:8px; font-size:.95em;
  transition:background .15s, padding-left .15s; }
.mpb-side a::before { content:"▸ "; color:var(--accent); }
.mpb-side a:hover { background:rgba(66,198,255,.1); padding-left:16px; }
.mpb-cat { margin:30px 0 14px; color:var(--text);
  border-left:5px solid var(--accent); padding-left:14px; }
.mpb-cat-title { font-size:1.2em; font-weight:700; }
.mpb-cat-sub { font-size:.82em; color:var(--muted); margin-left:12px; }
.mpb-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.mpb-tile { position:relative; border-radius:10px; overflow:hidden;
  border:1px solid var(--border); height:110px;
  transition:transform .15s, border-color .15s, box-shadow .15s; }
.mpb-tile img.mp-tile-img { filter:brightness(.55); transition:filter .2s, transform .3s; }
.mpb-tile:hover { transform:translateY(-4px); border-color:var(--accent);
  box-shadow:0 8px 20px rgba(0,0,0,.55); }
.mpb-tile:hover img.mp-tile-img { filter:brightness(.8); transform:scale(1.06); }
.mpb-tile-label { position:absolute; left:0; right:0; bottom:0; padding:10px 12px;
  font-weight:700; color:#fff; font-size:.95em; pointer-events:none; z-index:1;
  background:linear-gradient(transparent, rgba(6,10,16,.9)); }
.mpb-foot { margin-top:34px; text-align:center; color:var(--muted); font-size:.9em;
  border-top:1px solid var(--border); padding-top:18px; }
.mpb-foot a { color:var(--accent) !important; }

Latest revision as of 16:27, 11 June 2026

/* =============================================================
   COMMON.CSS
   Sections:
     1. Navigation
     2. Tab System
     3. Dropdown System
        3a. Container
        3b. Button
        3c. List & Items
        3d. Scrollbar
     4. Output Panel (Tech Bench Style)
     5. Cleanup / Utility Overrides
     6. Main Page Redesign (shared / Design A / Design B)
   ============================================================= */
/* ================= 1. NAVIGATION ================= */
.navtable {
  margin: 0 auto;
  border: none;
  border-collapse: collapse;
  text-align: center;
}
.navcell {
  padding: 0 18px 10px;
  vertical-align: top;
}
.navimg img {
  display: block;
  margin: 0 auto;
}
.navicon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 200px;
}
.navicon--row1 { height: 150px; }
.navicon--row2 { height: 200px; }
.navlabel {
  width: 100%;
  margin-top: 4px;
  text-align: center;
  font-weight: 800;
  line-height: 1.05;
}
.navlabel--tight { margin-top: 2px; }
.navicon--empty,
.navlabel--empty {
  visibility: hidden;
}
body.page-Main_Page h1.firstHeading {
  display: none;
}
/* ================= 2. TAB SYSTEM ================= */
.mw-tab-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
}
.mw-tab-btn {
  min-width: 90px;
  padding: 8px 14px;
  background: #111;
  color: #ccc;
  border: 1px solid #444;
  border-radius: 6px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}
.mw-tab-btn:hover {
  border-color: #00bfff;
  color: #fff;
}
.mw-tab-btn.active {
  background: #00bfff;
  color: #000;
}
.mw-tab-content {
  display: none;
  overflow: visible !important;
}
.mw-tab-content.active {
  display: block;
}
/* ================= 3. DROPDOWN SYSTEM ================= */
/* -- 3a. Container -- */
.mw-dropdown-ui {
  position: relative;
  width: 100%;
  max-width: 420px;
  margin: 18px auto;
  padding: 14px;
  background: linear-gradient(145deg, #1a1a1a, #111);
  border: 1px solid #333;
  border-radius: 12px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
  box-sizing: border-box;
  overflow: visible;
}
/* Header label (pulls from data-label attribute) */
.mw-dropdown-ui::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 10px;
  color: #00bfff;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
/* Force consistent sizing on children */
.mw-dropdown-ui *,
.mod-dropdown-btn,
.mw-dropdown-output {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* -- 3b. Button -- */
.mod-dropdown-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  background: #0f0f0f;
  color: #eee;
  border: 1px solid #444;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
}
/* -- 3c. List & Items -- */
.mod-dropdown-list {
  display: none;
  position: absolute;
  top: 56px;
  left: 14px;
  right: 14px;
  width: auto;
  max-height: 250px;
  background: #1a1a1a;
  border: 1px solid #444;
  border-radius: 6px;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 99999;
}
.mod-dropdown-item {
  padding: 8px;
  color: #ccc;
  border-bottom: 1px solid #222;
  cursor: pointer;
}
.mod-dropdown-item:last-child {
  border-bottom: none;
}
.mod-dropdown-item:hover {
  background: #00bfff;
  color: #000;
}
/* -- 3d. Scrollbar -- */
.mod-dropdown-list::-webkit-scrollbar {
  width: 6px;
}
.mod-dropdown-list::-webkit-scrollbar-thumb {
  background: #00bfff;
  border-radius: 3px;
}
/* ================= 4. OUTPUT PANEL (TECH BENCH STYLE) ================= */
.mw-dropdown-output {
  min-height: 70px;
  margin-top: 10px;
  padding: 12px;
  background: #0d1319;
  border: 1px solid #1f2a35;
  border-radius: 10px;
  color: #e6edf3;
  font-size: 13px;
}
.mw-ui-placeholder {
  color: #666;
  font-style: italic;
  text-align: center;
}
.mw-ui-title {
  margin-bottom: 8px;
  color: #e6edf3;
  font-size: 14px;
  font-weight: 700;
}
.mw-ui-line {
  padding: 6px 0;
  border-top: 1px solid #1a222b;
  color: #9fb0c3;
  font-size: 13px;
}
.mw-ui-line:first-of-type {
  border-top: none;
}
/* ================= 5. CLEANUP / UTILITY OVERRIDES ================= */
.mw-dropdown,
.mw-dropdown-content {
  display: none !important;
}
[data-left]:empty,
[data-right]:empty,
.mw-tab-content div:empty {
  display: none !important;
}
/* ================= 6. MAIN PAGE REDESIGN ================= */
/* -- 6a. Shared -- */
.page-Main_Page .firstHeading,
.page-Main_Page #siteSub { display: none; }
.mp-wrap a { text-decoration: none; }
.mp-wrap p { margin: 0; }                 /* neutralize MW's auto <p> wrappers */
/* [[File:|class=x]] puts the class ON the <img> element itself */
img.mp-card-img { width: 100%; height: 140px; object-fit: cover; display: block; }
img.mp-tile-img,
img.mp-banner-img {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
/* -- 6b. Design A: Hero + Card Grid -- */
.mpa { --panel:#161b22; --accent:#f5a623; --accent2:#e8531f;
       --text:#e6edf3; --muted:#9aa7b4; --border:#2a3442;
       background:#0d1117; border-radius:14px; padding:24px; }
.mpa-hero { position:relative; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); padding:48px 40px; color:var(--text);
  background:
    linear-gradient(115deg, rgba(13,17,23,.95) 35%, rgba(13,17,23,.55) 70%, rgba(13,17,23,.25)),
    url("/images/thumb/0/0c/OH_Map.png/1120px-OH_Map.png") center/cover; }
.mpa-hero-title { font-size:2.2em; font-weight:800; margin-bottom:8px; }
.mpa-hero-title .mpa-accent { color:var(--accent); }
.mpa-hero-tag { color:var(--muted); max-width:520px; font-size:1.05em; margin-bottom:22px; }
.mpa-btn { display:inline-block; margin:0 10px 8px 0; }
.mpa-btn a { display:inline-block; padding:10px 20px;
  border-radius:8px; font-weight:600; transition:transform .15s, box-shadow .15s; }
.mpa-btn-primary a { background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#14100a !important; }
.mpa-btn-ghost a { border:1px solid var(--accent); color:var(--accent) !important; }
.mpa-btn a:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(245,166,35,.35); }
.mpa-new { display:inline-block; width:9px; height:9px; border-radius:50%;
  background:#3fd36c; margin-right:7px; animation:mpa-pulse 1.6s infinite; }
@keyframes mpa-pulse {
  0%   { box-shadow:0 0 0 0 rgba(63,211,108,.6); }
  70%  { box-shadow:0 0 0 8px rgba(63,211,108,0); }
  100% { box-shadow:0 0 0 0 rgba(63,211,108,0); } }
.mpa-sec { margin:34px 0 16px; font-size:1.25em; font-weight:700; color:var(--text);
  border-left:5px solid var(--accent); padding-left:14px;
  padding-bottom:6px; border-bottom:1px solid var(--border); }
.mpa-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
.mpa-card { background:var(--panel); border:1px solid var(--border); border-radius:12px;
  overflow:hidden; color:var(--text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mpa-card:hover { transform:translateY(-5px); border-color:var(--accent);
  box-shadow:0 10px 24px rgba(0,0,0,.5), 0 0 14px rgba(245,166,35,.25); }
.mpa-card img.mp-card-img { filter:saturate(.9); transition:filter .18s; }
.mpa-card:hover img.mp-card-img { filter:saturate(1.15); }
.mpa-card-body { padding:12px 14px 14px; }
.mpa-card-title { font-weight:700; margin-bottom:4px; }
.mpa-card-title a { color:var(--text) !important; }
.mpa-card-desc { font-size:.85em; color:var(--muted); line-height:1.4; }
.mpa-footer { margin-top:36px; text-align:center;
  background:#1c2330; border:1px solid var(--border); border-radius:12px; padding:18px; }
.mpa-footer a { color:var(--accent) !important; font-weight:600; padding:6px 14px;
  border-radius:6px; transition:background .15s; display:inline-block; margin:2px 4px; }
.mpa-footer a:hover { background:rgba(245,166,35,.12); }
/* -- 6c. Design B: Dashboard -- */
.mpb { --panel:#131a24; --accent:#42c6ff; --accent2:#7a5cff;
       --text:#e8eef5; --muted:#8b99a9; --border:#243144;
       background:#0a0e14; border-radius:14px; padding:24px; }
.mpb-featured { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; margin-bottom:26px; }
@media (max-width:760px) { .mpb-featured { grid-template-columns:1fr; } }
.mpb-banner { position:relative; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); min-height:230px;
  transition:transform .18s, box-shadow .18s; }
.mpb-banner:hover { transform:scale(1.012); box-shadow:0 0 22px rgba(66,198,255,.3); }
.mpb-banner-overlay { position:absolute; left:0; right:0; bottom:0; padding:22px;
  background:linear-gradient(transparent, rgba(10,14,20,.95) 65%);
  color:var(--text); pointer-events:none; z-index:1; }
.mpb-tag { display:inline-block; font-size:.72em; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; background:var(--accent); color:#06121c;
  border-radius:4px; padding:3px 9px; margin-bottom:8px; }
.mpb-banner-title { font-size:1.5em; font-weight:800; margin-bottom:4px; }
.mpb-banner-desc { color:var(--muted); font-size:.9em; }
.mpb-side { background:var(--panel); border:1px solid var(--border);
  border-radius:14px; padding:18px 20px; }
.mpb-side-h { font-size:1em; text-transform:uppercase; letter-spacing:1px;
  color:var(--accent); font-weight:700; margin-bottom:12px; }
.mpb-side a { display:block; color:var(--text) !important;
  padding:9px 10px; border-radius:8px; font-size:.95em;
  transition:background .15s, padding-left .15s; }
.mpb-side a::before { content:"▸ "; color:var(--accent); }
.mpb-side a:hover { background:rgba(66,198,255,.1); padding-left:16px; }
.mpb-cat { margin:30px 0 14px; color:var(--text);
  border-left:5px solid var(--accent); padding-left:14px; }
.mpb-cat-title { font-size:1.2em; font-weight:700; }
.mpb-cat-sub { font-size:.82em; color:var(--muted); margin-left:12px; }
.mpb-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.mpb-tile { position:relative; border-radius:10px; overflow:hidden;
  border:1px solid var(--border); height:110px;
  transition:transform .15s, border-color .15s, box-shadow .15s; }
.mpb-tile img.mp-tile-img { filter:brightness(.55); transition:filter .2s, transform .3s; }
.mpb-tile:hover { transform:translateY(-4px); border-color:var(--accent);
  box-shadow:0 8px 20px rgba(0,0,0,.55); }
.mpb-tile:hover img.mp-tile-img { filter:brightness(.8); transform:scale(1.06); }
.mpb-tile-label { position:absolute; left:0; right:0; bottom:0; padding:10px 12px;
  font-weight:700; color:#fff; font-size:.95em; pointer-events:none; z-index:1;
  background:linear-gradient(transparent, rgba(6,10,16,.9)); }
.mpb-foot { margin-top:34px; text-align:center; color:var(--muted); font-size:.9em;
  border-top:1px solid var(--border); padding-top:18px; }
.mpb-foot a { color:var(--accent) !important; }