.software-portal-wrapper {
font-family: "JetBrains Mono", monospace;
background: #f8f9fa;
color: #1b1b1b;
padding: 2em;
max-width: 1200px;
margin: auto;
}
/* Header */
.software-header {
background: linear-gradient(to right, #d0f2f2, #e2f7ff);
color: #003333;
padding: 1.8em;
border-left: 8px solid #00aaaa;
border-radius: 8px;
margin-bottom: 2em;
box-shadow: 0 0 12px rgba(0, 150, 150, 0.1);
}
.software-title {
font-size: 2.2em;
font-weight: bold;
letter-spacing: 0.8px;
}
.software-subtitle {
font-size: 1em;
font-style: italic;
color: #005555;
margin-top: 0.4em;
}
/* Grid */
.software-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.5em;
}
/* Card */
.software-card {
background: #ffffff;
border: 1px solid #ddd;
border-left: 5px solid #7c4dff;
border-radius: 6px;
padding: 1.2em;
box-shadow: 0 0 8px rgba(124, 77, 255, 0.05);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.software-card:hover {
transform: translateY(-3px);
box-shadow: 0 0 12px rgba(124, 77, 255, 0.15);
}
.software-card.wide {
grid-column: 1 / -1;
}
/* Title */
.software-card-title {
font-size: 1.3em;
font-weight: bold;
color: #5f2dab;
margin-bottom: 0.5em;
border-bottom: 1px solid #bbb;
padding-bottom: 0.2em;
}
/* Body */
.software-card-body {
font-size: 0.97em;
color: #2b2b2b;
line-height: 1.6;
}
.software-card-body ul {
padding-left: 1.2em;
}
.software-card-body li {
margin-bottom: 0.4em;
}
/* Centered Image */
.software-card-body.center {
text-align: center;
}
/* Category tag buttons */
.software-card-body a[href*="Category:"] {
display: inline-block;
background: #e8f4f4;
border: 1px solid #c0eaea;
padding: 0.4em 0.8em;
font-size: 0.9em;
font-weight: 600;
color: #008b8b;
border-radius: 4px;
margin: 0.3em;
text-decoration: none;
transition: background 0.2s ease, border-color 0.2s ease;
}
.software-card-body a[href*="Category:"]:hover {
background: #d2f0f0;
border-color: #00cccc;
}
/* Link styling */
a:link,
a:visited {
color: #006699;
text-decoration: none;
}
a:hover {
color: #0099cc;
text-decoration: underline;
}
@media screen {
html.skin-theme-clientpref-night .software-portal-wrapper,
html.skin-theme-clientpref-os .software-portal-wrapper {
background: #0d0d0d;
color: #e0e0e0;
}
html.skin-theme-clientpref-night .software-header,
html.skin-theme-clientpref-os .software-header {
background: linear-gradient(to right, #121212, #1e1e1e);
color: #ffffff;
border-left-color: #00ffff;
box-shadow: 0 0 12px rgba(0, 255, 255, 0.2);
}
html.skin-theme-clientpref-night .software-title,
html.skin-theme-clientpref-os .software-title {
color: #ccffff;
}
html.skin-theme-clientpref-night .software-subtitle,
html.skin-theme-clientpref-os .software-subtitle {
color: #a0ffff;
}
html.skin-theme-clientpref-night .software-card,
html.skin-theme-clientpref-os .software-card {
background: #1a1a1a;
border: 1px solid #2a2a2a;
border-left: 5px solid #b380ff;
box-shadow: 0 0 8px rgba(179, 128, 255, 0.05);
}
html.skin-theme-clientpref-night .software-card:hover,
html.skin-theme-clientpref-os .software-card:hover {
box-shadow: 0 0 12px rgba(179, 128, 255, 0.15);
}
html.skin-theme-clientpref-night .software-card-title,
html.skin-theme-clientpref-os .software-card-title {
color: #b380ff;
border-bottom: 1px solid #333;
}
html.skin-theme-clientpref-night .software-card-body,
html.skin-theme-clientpref-os .software-card-body {
color: #d0d0d0;
}
html.skin-theme-clientpref-night .software-card-body a[href*="Category:"],
html.skin-theme-clientpref-os .software-card-body a[href*="Category:"] {
background: #262626;
border: 1px solid #3a3a3a;
color: #00ffff;
}
html.skin-theme-clientpref-night .software-card-body a[href*="Category:"]:hover,
html.skin-theme-clientpref-os .software-card-body a[href*="Category:"]:hover {
background: #1e1e1e;
border-color: #00cccc;
}
html.skin-theme-clientpref-night a:link,
html.skin-theme-clientpref-night a:visited,
html.skin-theme-clientpref-os a:link,
html.skin-theme-clientpref-os a:visited {
color: #33ccff;
}
html.skin-theme-clientpref-night a:hover,
html.skin-theme-clientpref-os a:hover {
color: #00ffff;
}
}