MediaWiki:Gadget-OralHistoryRecords-Updated.css: Difference between revisions
Appearance
No edit summary Tag: Reverted |
No edit summary |
||
| (16 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
/* --- Page Layout Adjustments --- */ | /* --- Page Layout Adjustments --- */ | ||
.ohr-container { | .ohr-container { | ||
max-width: 1100px; | max-width: 1100px; | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 0 1rem; | padding: 0 1rem; | ||
| Line 11: | Line 10: | ||
.ohr-layout-grid { | .ohr-layout-grid { | ||
display: flex; | display: flex; | ||
gap: 1.25rem; | gap: 1.25rem; | ||
align-items: flex-start; | align-items: flex-start; | ||
} | } | ||
| Line 26: | Line 25: | ||
.ohr-hidden { display: none; } | .ohr-hidden { display: none; } | ||
.ohr-muted { color: #6b7280; } | .ohr-muted { color: #6b7280; } | ||
.ohr-center { text-align: center; } | |||
.ohr-mt-sm { margin-top: 0.5rem; } | |||
.ohr-m-0 { margin: 0; } | |||
/* --- Toolbar --- */ | /* --- Toolbar --- */ | ||
.ohr-toolbar { | .ohr-toolbar { | ||
display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; | display: flex; | ||
margin-bottom: 0.5rem; | flex-wrap: wrap; | ||
gap: 0.5rem; | |||
align-items: center; | |||
margin-bottom: 0.5rem; | |||
} | } | ||
| Line 40: | Line 45: | ||
font-size: 0.88rem; | font-size: 0.88rem; | ||
transition: border-color 0.2s ease, box-shadow 0.2s ease; | transition: border-color 0.2s ease, box-shadow 0.2s ease; | ||
font-family: inherit; | |||
} | } | ||
| Line 45: | Line 51: | ||
outline: none; | outline: none; | ||
border-color: #3b82f6; | border-color: #3b82f6; | ||
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0. | box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); | ||
} | } | ||
.ohr-count { margin-left: auto; font-size: 0.82rem; color: #6b7280; } | .ohr-count { | ||
margin-left: auto; | |||
font-size: 0.82rem; | |||
color: #6b7280; | |||
} | |||
/* --- Record container --- */ | /* --- Record container --- */ | ||
.ohr-item { | .ohr-item { | ||
background: # | background: #fcfdfe; | ||
border-radius: 0. | border-radius: 0.3rem; | ||
padding: 0. | padding: 0.5rem 0.75rem; | ||
box-shadow: 0 1px 2px rgba(0,0,0,0. | box-shadow: 0 1px 2px rgba(0,0,0,0.02); | ||
margin-bottom: 0. | margin-bottom: 0.2rem; | ||
border: 1px solid | border: 1px solid #edf2f7; | ||
transition: | transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; | ||
} | } | ||
.ohr-item:hover { | .ohr-item:hover { | ||
background: #f8fbff; | |||
border-color: #cbd5e1; | border-color: #cbd5e1; | ||
} | |||
/* Open (expanded) state - Enhanced contrast */ | |||
.ohr-item.is-open { | |||
background: #f1f5f9; | |||
border-color: #94a3b8; | |||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); | |||
} | } | ||
| Line 72: | Line 87: | ||
display: flex; | display: flex; | ||
gap: 0.4rem; | gap: 0.4rem; | ||
align-items: center; | align-items: center; | ||
} | } | ||
.ohr-titleblock { flex: 1 1 auto; min-width: 0; } | .ohr-titleblock { flex: 1 1 auto; min-width: 0; } | ||
.ohr-name { | .ohr-name { | ||
margin: 0; | margin: 0; | ||
font-size: 0. | font-size: 0.92rem; | ||
font-weight: 700; | font-weight: 700; | ||
color: # | color: #1a202c; | ||
line-height: 1. | line-height: 1.2; | ||
} | } | ||
/* | /* Metadata */ | ||
.ohr-meta { | .ohr-meta { | ||
margin-top: 0.05rem; | margin-top: 0.05rem; | ||
font-size: 0. | font-size: 0.78rem; | ||
color: # | color: #4a5568; | ||
} | } | ||
.ohr-meta span.ohr-label { | .ohr-meta span.ohr-label { | ||
color: # | color: #57606a; | ||
font-weight: | font-weight: 650; | ||
font-size: 0. | font-size: 0.7rem; | ||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0. | letter-spacing: 0.02em; | ||
} | |||
.ohr-meta .ohr-dot { | |||
margin: 0 0.25rem; | |||
color: #cbd5e1; | |||
} | } | ||
/* --- Bio | /* --- Bio --- */ | ||
.ohr-bio { | .ohr-bio { | ||
margin: 0. | margin: 0.5rem 0 0.2rem; | ||
font-size: 0. | font-size: 0.82rem; | ||
line-height: 1. | line-height: 1.4; | ||
color: # | color: #374151; | ||
} | } | ||
/* --- Links | /* --- Links --- */ | ||
.ohr-links { | .ohr-links { | ||
margin-top: 0. | margin-top: 0.25rem; | ||
display: flex; | display: flex; | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: 0. | gap: 0.3rem; | ||
} | } | ||
| Line 125: | Line 141: | ||
justify-content: center; | justify-content: center; | ||
padding: 0.15rem 0.45rem; | padding: 0.15rem 0.45rem; | ||
font-size: 0. | font-size: 0.72rem; | ||
font-weight: 600; | font-weight: 600; | ||
border-radius: 0. | border-radius: 0.25rem; | ||
text-decoration: none; | text-decoration: none; | ||
color: # | color: #2d3748; | ||
background: # | background: #edf2f7; | ||
border: 1px solid # | border: 1px solid #e2e8f0; | ||
transition: all 0.15s ease; | |||
} | } | ||
.ohr-link:hover { | .ohr-link:hover { | ||
background: # | background: #e2e8f0; | ||
border-color: # | border-color: #cbd5e1; | ||
color: #111; | |||
} | } | ||
.ohr-link:focus-visible, .ohr-acc-btn:focus-visible { | .ohr-link:focus-visible, | ||
.ohr-acc-btn:focus-visible { | |||
outline: 2px solid #3b82f6; | outline: 2px solid #3b82f6; | ||
outline-offset: 2px; | outline-offset: 2px; | ||
| Line 145: | Line 164: | ||
/* --- Session hierarchy --- */ | /* --- Session hierarchy --- */ | ||
.ohr-session { margin-top: 0. | .ohr-session { | ||
margin-top: 0.5rem; | |||
padding-top: 0.5rem; | |||
border-top: 1px solid #cbd5e1; | |||
} | |||
.ohr-session__title { | .ohr-session__title { | ||
font-size: 0. | font-size: 0.85rem; | ||
font-weight: 700; | font-weight: 700; | ||
margin: 0 0 0.1rem; | margin: 0 0 0.1rem; | ||
color: # | color: #1a202c; | ||
} | |||
/* Indented content under the session title */ | |||
.ohr-session > *:not(.ohr-session__title) { | |||
margin-left: 0.6rem; | |||
} | } | ||
.ohr-resource-label { | .ohr-resource-label { | ||
font-size: 0.65rem; | font-size: 0.65rem; | ||
font-weight: | font-weight: 800; | ||
letter-spacing: 0. | letter-spacing: 0.04em; | ||
text-transform: uppercase; | text-transform: uppercase; | ||
color: # | color: #374151; | ||
margin: 0. | margin: 0.2rem 0 0.15rem; | ||
} | } | ||
| Line 165: | Line 194: | ||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
gap: 0. | gap: 0.3rem; | ||
} | } | ||
/* --- Accordion | /* --- Accordion --- */ | ||
.ohr-acc-btn { | .ohr-acc-btn { | ||
margin-left: auto; | margin-left: auto; | ||
flex: 0 0 auto; | flex: 0 0 auto; | ||
background: | background: #fff; | ||
border: 1px solid # | border: 1px solid #d1d5db; | ||
border-radius: 0. | border-radius: 0.25rem; | ||
padding: 0.15rem 0. | padding: 0.15rem 0.45rem; | ||
font-size: 0. | font-size: 0.72rem; | ||
font-weight: 600; | font-weight: 600; | ||
color: # | color: #4b5563; | ||
cursor: pointer; | cursor: pointer; | ||
transition: all 0.1s ease; | |||
} | } | ||
.ohr-acc-btn:hover { | |||
.ohr-acc-btn:hover { | |||
background: #f9fafb; | background: #f9fafb; | ||
border-color: # | border-color: #94a3b8; | ||
color: # | color: #111; | ||
} | |||
.ohr-acc-btn:active { | |||
transform: translateY(1px); | |||
} | } | ||
.ohr-acc-panel { | .ohr-acc-panel { | ||
margin-top: 0. | margin-top: 0.35rem; | ||
} | } | ||
.ohr-divider { | .ohr-divider { | ||
margin-top: 0. | margin-top: 0.2rem; | ||
border-top: | border-top: none; | ||
padding-top: 0. | padding-top: 0.2rem; | ||
} | } | ||
/* --- Error --- */ | /* --- Error --- */ | ||
.ohr-error { | .ohr-error { | ||
color: # | color: #c53030; | ||
background: # | background: #fff5f5; | ||
border-radius: 0.3rem; | border-radius: 0.3rem; | ||
padding: 0.6rem; | padding: 0.6rem; | ||
font-size: 0. | font-size: 0.82rem; | ||
border: 1px solid #feb2b2; | |||
text-align: center; | text-align: center; | ||
} | } | ||
Latest revision as of 15:40, 28 March 2026
/* ===== Oral History Records (Compact CSS) ===== */
/* --- Page Layout Adjustments --- */
.ohr-container {
max-width: 1100px;
margin: 0 auto;
padding: 0 1rem;
}
.ohr-layout-grid {
display: flex;
gap: 1.25rem;
align-items: flex-start;
}
.ohr-list-wrapper {
flex: 1;
min-width: 0;
}
/* --- Layout --- */
.ohr-list { display: block; }
/* --- Utilities --- */
.ohr-hidden { display: none; }
.ohr-muted { color: #6b7280; }
.ohr-center { text-align: center; }
.ohr-mt-sm { margin-top: 0.5rem; }
.ohr-m-0 { margin: 0; }
/* --- Toolbar --- */
.ohr-toolbar {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
align-items: center;
margin-bottom: 0.5rem;
}
#ohr-search {
flex: 1 1 200px;
padding: 0.35rem 0.6rem;
border: 1px solid #d1d5db;
border-radius: 0.3rem;
font-size: 0.88rem;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
font-family: inherit;
}
#ohr-search:focus-visible {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.ohr-count {
margin-left: auto;
font-size: 0.82rem;
color: #6b7280;
}
/* --- Record container --- */
.ohr-item {
background: #fcfdfe;
border-radius: 0.3rem;
padding: 0.5rem 0.75rem;
box-shadow: 0 1px 2px rgba(0,0,0,0.02);
margin-bottom: 0.2rem;
border: 1px solid #edf2f7;
transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.ohr-item:hover {
background: #f8fbff;
border-color: #cbd5e1;
}
/* Open (expanded) state - Enhanced contrast */
.ohr-item.is-open {
background: #f1f5f9;
border-color: #94a3b8;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}
/* --- Header row --- */
.ohr-head {
display: flex;
gap: 0.4rem;
align-items: center;
}
.ohr-titleblock { flex: 1 1 auto; min-width: 0; }
.ohr-name {
margin: 0;
font-size: 0.92rem;
font-weight: 700;
color: #1a202c;
line-height: 1.2;
}
/* Metadata */
.ohr-meta {
margin-top: 0.05rem;
font-size: 0.78rem;
color: #4a5568;
}
.ohr-meta span.ohr-label {
color: #57606a;
font-weight: 650;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.02em;
}
.ohr-meta .ohr-dot {
margin: 0 0.25rem;
color: #cbd5e1;
}
/* --- Bio --- */
.ohr-bio {
margin: 0.5rem 0 0.2rem;
font-size: 0.82rem;
line-height: 1.4;
color: #374151;
}
/* --- Links --- */
.ohr-links {
margin-top: 0.25rem;
display: flex;
flex-wrap: wrap;
gap: 0.3rem;
}
.ohr-link {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.15rem 0.45rem;
font-size: 0.72rem;
font-weight: 600;
border-radius: 0.25rem;
text-decoration: none;
color: #2d3748;
background: #edf2f7;
border: 1px solid #e2e8f0;
transition: all 0.15s ease;
}
.ohr-link:hover {
background: #e2e8f0;
border-color: #cbd5e1;
color: #111;
}
.ohr-link:focus-visible,
.ohr-acc-btn:focus-visible {
outline: 2px solid #3b82f6;
outline-offset: 2px;
}
/* --- Session hierarchy --- */
.ohr-session {
margin-top: 0.5rem;
padding-top: 0.5rem;
border-top: 1px solid #cbd5e1;
}
.ohr-session__title {
font-size: 0.85rem;
font-weight: 700;
margin: 0 0 0.1rem;
color: #1a202c;
}
/* Indented content under the session title */
.ohr-session > *:not(.ohr-session__title) {
margin-left: 0.6rem;
}
.ohr-resource-label {
font-size: 0.65rem;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
color: #374151;
margin: 0.2rem 0 0.15rem;
}
.ohr-links-stack {
display: flex;
flex-direction: column;
gap: 0.3rem;
}
/* --- Accordion --- */
.ohr-acc-btn {
margin-left: auto;
flex: 0 0 auto;
background: #fff;
border: 1px solid #d1d5db;
border-radius: 0.25rem;
padding: 0.15rem 0.45rem;
font-size: 0.72rem;
font-weight: 600;
color: #4b5563;
cursor: pointer;
transition: all 0.1s ease;
}
.ohr-acc-btn:hover {
background: #f9fafb;
border-color: #94a3b8;
color: #111;
}
.ohr-acc-btn:active {
transform: translateY(1px);
}
.ohr-acc-panel {
margin-top: 0.35rem;
}
.ohr-divider {
margin-top: 0.2rem;
border-top: none;
padding-top: 0.2rem;
}
/* --- Error --- */
.ohr-error {
color: #c53030;
background: #fff5f5;
border-radius: 0.3rem;
padding: 0.6rem;
font-size: 0.82rem;
border: 1px solid #feb2b2;
text-align: center;
}