MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| (24 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/* ================= | /* ============================================================= | ||
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; | ||
} | } | ||
.navcell { | |||
.navcell{ | padding: 0 18px 10px; | ||
padding: 0 18px 10px | |||
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{ | |||
width: 100%; | width: 100%; | ||
margin-top: 4px; | margin-top: 4px; | ||
text-align: center; | |||
font-weight: 800; | |||
line-height: 1.05; | line-height: 1.05; | ||
} | } | ||
.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: | margin-bottom: 12px; | ||
} | } | ||
.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; | ||
} | } | ||
.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 ================= */ | /* -- 3a. Container -- */ | ||
.mw-dropdown-ui { | .mw-dropdown-ui { | ||
position: relative; | |||
width: 100%; | |||
max-width: 420px; | |||
padding: | margin: 18px auto; | ||
padding: 14px; | |||
box-shadow: 0 0 | 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 | .mw-dropdown-ui::before { | ||
content: attr(data-label); | |||
display: block; | |||
margin-bottom: 10px; | margin-bottom: 10px; | ||
font-size: | color: #00bfff; | ||
font-size: 15px; | |||
font-weight: bold; | |||
text-align: center; | |||
} | } | ||
/* Force consistent sizing on children */ | |||
.mw-dropdown-ui | .mw-dropdown-ui *, | ||
.mod-dropdown-btn, | |||
.mw-dropdown-output { | .mw-dropdown-output { | ||
width: 100%; | width: 100%; | ||
max-width: 100%; | |||
box-sizing: border-box; | |||
} | } | ||
/* -- 3b. Button -- */ | |||
.mod-dropdown-btn { | .mod-dropdown-btn { | ||
display: flex; | |||
align-items: center; | |||
background: # | justify-content: center; | ||
color: # | 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; | ||
} | } | ||
/* -- 3c. List & Items -- */ | |||
.mod-dropdown-list { | .mod-dropdown-list { | ||
display: none; | display: none; | ||
position: absolute; | position: absolute; | ||
width: | top: 56px; | ||
left: 14px; | |||
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; | ||
overflow-x: hidden; | |||
overflow-y: auto; | overflow-y: auto; | ||
z-index: 99999; | |||
} | } | ||
.mod-dropdown-item { | .mod-dropdown-item { | ||
padding: 8px; | padding: 8px; | ||
color: #ccc; | |||
border-bottom: 1px solid #222; | |||
cursor: pointer; | cursor: pointer; | ||
} | } | ||
.mod-dropdown-item:last-child { | |||
border-bottom: none; | |||
} | |||
.mod-dropdown-item:hover { | .mod-dropdown-item:hover { | ||
background: #00bfff; | background: #00bfff; | ||
color: #000; | color: #000; | ||
} | } | ||
/* | /* -- 3d. Scrollbar -- */ | ||
.mod-dropdown | .mod-dropdown-list::-webkit-scrollbar { | ||
width: 6px; | |||
width: | |||
} | } | ||
.mod-dropdown-list::-webkit-scrollbar-thumb { | |||
background: #00bfff; | |||
. | border-radius: 3px; | ||
} | } | ||
/* ================= 4. OUTPUT PANEL (TECH BENCH STYLE) ================= */ | |||
/* | |||
.mw-dropdown-output { | .mw-dropdown-output { | ||
padding: 10px; | min-height: 70px; | ||
margin-top: 10px; | |||
padding: 12px; | |||
background: #0d1319; | |||
border: 1px solid #1f2a35; | |||
border-radius: 10px; | |||
color: #e6edf3; | |||
font-size: 13px; | font-size: 13px; | ||
} | } | ||
.mw-ui-placeholder { | |||
color: #666; | |||
.mw- | font-style: italic; | ||
text-align: center; | |||
} | } | ||
.mw-ui-title { | |||
.mw- | |||
margin-bottom: 8px; | margin-bottom: 8px; | ||
color: # | color: #e6edf3; | ||
font-size: 14px; | |||
font-weight: 700; | |||
} | } | ||
.mw-ui-line { | |||
padding: 6px 0; | |||
. | border-top: 1px solid #1a222b; | ||
color: #9fb0c3; | |||
border: 1px solid # | font-size: 13px; | ||
font- | |||
} | } | ||
.mw-ui-line:first-of-type { | |||
. | border-top: none; | ||
border- | |||
} | } | ||
/* ================= 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; } | |||
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; }