civic / styles.css
mishig's picture
mishig HF Staff
Upload static civic prep site
54839ce verified
Raw
History Blame Contribute Delete
18.2 kB
:root {
color-scheme: light dark;
--ink: #12243b;
--ink-soft: #35506d;
--paper: #f8f3e8;
--paper-strong: #fffdf8;
--line: rgba(18, 36, 59, 0.12);
--blue: #163d7a;
--blue-bright: #1f5fbf;
--red: #b12d2b;
--gold: #d49b2d;
--green: #2c7a52;
--shadow: 0 24px 60px rgba(18, 36, 59, 0.12);
--radius: 24px;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
color: var(--ink);
font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;
background:
radial-gradient(circle at top left, rgba(212, 155, 45, 0.17), transparent 24rem),
radial-gradient(circle at top right, rgba(31, 95, 191, 0.14), transparent 28rem),
linear-gradient(180deg, #f3eee1 0%, #fcfaf4 32%, #f5efe3 100%);
}
a {
color: var(--blue);
}
.page-shell {
width: min(1220px, calc(100% - 2rem));
margin: 0 auto;
padding: 1rem 0 4rem;
}
.hero,
.section,
.panel,
.results {
backdrop-filter: blur(10px);
}
.hero {
background: rgba(255, 252, 246, 0.84);
border: 1px solid rgba(18, 36, 59, 0.08);
border-radius: 32px;
padding: 1rem 1.25rem 2rem;
box-shadow: var(--shadow);
}
.tricolor-bar {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0.5rem;
}
.tricolor-bar span {
display: block;
height: 0.45rem;
border-radius: 999px;
}
.tricolor-bar span:nth-child(1) {
background: var(--blue);
}
.tricolor-bar span:nth-child(2) {
background: #f5f1ea;
border: 1px solid rgba(18, 36, 59, 0.08);
}
.tricolor-bar span:nth-child(3) {
background: var(--red);
}
.top-nav {
display: flex;
flex-wrap: wrap;
gap: 1rem;
justify-content: flex-end;
padding: 1rem 0 1.5rem;
font-family: "Avenir Next Condensed", "Franklin Gothic Medium", "Arial Narrow", sans-serif;
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 0.78rem;
}
.top-nav a {
text-decoration: none;
color: var(--ink-soft);
}
.hero-grid,
.overview-grid,
.cram-grid,
.memory-grid,
.simulator-grid,
.study-duo,
.timeline-item,
.source-card,
.scenario-list {
display: grid;
gap: 1.25rem;
}
.hero-grid {
grid-template-columns: 1.35fr 0.95fr;
align-items: start;
}
.hero-copy h1,
.section-heading h2,
.panel h3,
.results h3 {
font-family: "Avenir Next Condensed", "DIN Alternate", "Franklin Gothic Medium", sans-serif;
letter-spacing: 0.01em;
margin: 0;
}
.hero-copy h1 {
font-size: clamp(2.4rem, 5vw, 4.6rem);
line-height: 0.95;
max-width: 12ch;
}
.eyebrow {
margin: 0 0 0.65rem;
color: var(--red);
font-family: "Avenir Next Condensed", "Franklin Gothic Medium", "Arial Narrow", sans-serif;
font-size: 0.85rem;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.hero-text,
.panel p,
.study-col li,
.timeline-copy,
.source-body,
.results p,
.status-hint,
.mini-note p {
font-size: 1rem;
line-height: 1.55;
}
.hero-actions,
.sim-buttons,
.exam-actions {
display: flex;
flex-wrap: wrap;
gap: 0.8rem;
margin-top: 1.5rem;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 2.9rem;
padding: 0.85rem 1.2rem;
border-radius: 999px;
border: 1px solid transparent;
cursor: pointer;
font: inherit;
text-decoration: none;
transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease;
}
.button:hover {
transform: translateY(-1px);
}
.button.primary {
background: linear-gradient(135deg, var(--blue), var(--blue-bright));
color: white;
box-shadow: 0 14px 26px rgba(31, 95, 191, 0.25);
}
.button.secondary {
background: rgba(255, 255, 255, 0.82);
border-color: rgba(18, 36, 59, 0.12);
color: var(--ink);
}
.exam-card,
.panel,
.results,
.question-card {
background: rgba(255, 253, 248, 0.92);
border: 1px solid var(--line);
border-radius: var(--radius);
box-shadow: 0 12px 32px rgba(18, 36, 59, 0.07);
}
.exam-card {
padding: 1.35rem;
}
.exam-card h2 {
margin: 0 0 1rem;
font-size: 1.35rem;
}
.fact-list {
margin: 0;
padding-left: 1.1rem;
display: grid;
gap: 0.6rem;
}
.distribution {
margin-top: 1.3rem;
padding-top: 1rem;
border-top: 1px dashed rgba(18, 36, 59, 0.18);
}
.distribution-title {
margin: 0 0 0.9rem;
font-weight: 700;
}
.distribution-row {
display: flex;
justify-content: space-between;
gap: 1rem;
padding: 0.4rem 0;
border-bottom: 1px solid rgba(18, 36, 59, 0.06);
}
.section {
margin-top: 1.4rem;
padding: 1.4rem;
background: rgba(255, 252, 246, 0.76);
border: 1px solid rgba(18, 36, 59, 0.08);
border-radius: 30px;
}
.section-heading {
margin-bottom: 1.1rem;
}
.section-heading h2 {
font-size: clamp(1.75rem, 3vw, 2.65rem);
}
.overview-grid {
grid-template-columns: repeat(4, 1fr);
}
.panel {
padding: 1.2rem;
}
.panel.emphasis {
background: linear-gradient(145deg, rgba(22, 61, 122, 0.94), rgba(31, 95, 191, 0.9));
color: white;
}
.panel.emphasis p,
.panel.emphasis h3 {
color: white;
}
.study-sections {
display: grid;
gap: 1rem;
}
.cram-grid {
grid-template-columns: repeat(3, 1fr);
}
.cram-card {
padding: 1.1rem;
border-radius: 22px;
border: 1px solid var(--line);
background: rgba(255, 255, 255, 0.82);
}
.cram-card h3 {
margin: 0 0 0.85rem;
font-size: 1.15rem;
}
.cram-card ul {
margin: 0;
padding-left: 1.1rem;
display: grid;
gap: 0.55rem;
}
.cram-item {
display: grid;
gap: 0.28rem;
}
.cram-translation {
display: block;
color: var(--ink-soft);
font-size: 0.96rem;
line-height: 1.45;
}
.study-block {
background: rgba(255, 255, 255, 0.62);
border: 1px solid var(--line);
border-radius: 26px;
overflow: hidden;
}
.study-block summary {
list-style: none;
cursor: pointer;
padding: 1.15rem 1.2rem;
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 1rem;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.75), rgba(244, 236, 220, 0.8));
}
.study-block summary::-webkit-details-marker {
display: none;
}
.study-block summary h3 {
font-size: 1.3rem;
}
.study-block summary p {
margin: 0;
color: var(--ink-soft);
font-size: 0.95rem;
}
.study-duo {
grid-template-columns: 1fr 1fr;
padding: 0 1.2rem 1.2rem;
}
.study-col {
padding: 1rem 1rem 1rem 1.1rem;
border-radius: 20px;
}
.study-col.fr {
background: rgba(22, 61, 122, 0.06);
}
.study-col.en {
background: rgba(177, 45, 43, 0.05);
}
.study-col h4 {
margin: 0 0 0.8rem;
font-size: 1rem;
font-family: "Avenir Next Condensed", "Franklin Gothic Medium", sans-serif;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.study-col ul {
margin: 0;
padding-left: 1.1rem;
display: grid;
gap: 0.7rem;
}
.context-sentence {
display: inline;
cursor: help;
text-decoration-line: underline;
text-decoration-style: dotted;
text-decoration-color: rgba(22, 61, 122, 0.45);
text-underline-offset: 0.18em;
transition: color 140ms ease, text-decoration-color 140ms ease;
}
.context-sentence:hover,
.context-sentence:focus-visible {
color: var(--blue);
text-decoration-color: rgba(22, 61, 122, 0.95);
outline: none;
}
.timeline-list,
.source-list {
display: grid;
gap: 0.9rem;
}
.scenario-list {
grid-template-columns: repeat(2, 1fr);
}
.scenario-card {
padding: 1.1rem;
border-radius: 22px;
background: rgba(255, 255, 255, 0.82);
border: 1px solid var(--line);
}
.scenario-card h3 {
margin: 0.3rem 0 0.5rem;
font-size: 1.1rem;
}
.scenario-card p {
margin: 0.4rem 0 0;
}
.scenario-label {
color: var(--ink-soft);
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
letter-spacing: 0.06em;
text-transform: uppercase;
font-size: 0.74rem;
}
.timeline-item {
grid-template-columns: 120px 1fr 1fr;
align-items: start;
padding: 1rem 1.1rem;
border-radius: 22px;
background: rgba(255, 255, 255, 0.76);
border: 1px solid var(--line);
}
.timeline-date {
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
font-size: 1.35rem;
color: var(--red);
}
.timeline-copy strong {
display: block;
margin-bottom: 0.3rem;
}
.memory-grid {
grid-template-columns: 320px 1fr;
align-items: start;
}
.memory-card-panel {
min-height: 21rem;
}
.memory-card {
min-height: 19rem;
display: grid;
gap: 1rem;
align-content: start;
}
.memory-face {
padding: 1.2rem;
border-radius: 20px;
border: 1px solid rgba(18, 36, 59, 0.08);
background: rgba(255, 255, 255, 0.76);
}
.memory-face h3,
.memory-answer h3 {
margin: 0 0 0.65rem;
font-size: 0.95rem;
color: var(--ink-soft);
text-transform: uppercase;
letter-spacing: 0.08em;
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
}
.memory-face p,
.memory-answer p {
margin: 0.35rem 0 0;
line-height: 1.55;
}
.memory-answer {
padding: 1.2rem;
border-radius: 20px;
background: rgba(22, 61, 122, 0.07);
}
.memory-meta {
display: flex;
flex-wrap: wrap;
gap: 0.7rem;
color: var(--ink-soft);
font-size: 0.95rem;
}
.memory-placeholder {
margin: 0;
color: var(--ink-soft);
}
.context-tooltip {
position: fixed;
z-index: 50;
width: min(26rem, calc(100vw - 1.5rem));
padding: 1rem 1.05rem;
border-radius: 20px;
border: 1px solid rgba(18, 36, 59, 0.12);
background: rgb(255, 253, 248);
box-shadow: 0 22px 44px rgba(18, 36, 59, 0.2);
pointer-events: none;
}
.context-tooltip h3,
.context-tooltip h4 {
margin: 0;
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
}
.context-tooltip h3 {
font-size: 1rem;
color: var(--blue);
}
.context-tooltip h4 {
margin-top: 0.8rem;
font-size: 0.82rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--ink-soft);
}
.context-tooltip p {
margin: 0.35rem 0 0;
line-height: 1.5;
font-size: 0.97rem;
}
.simulator-grid {
grid-template-columns: 320px 1fr;
align-items: start;
}
.sticky-panel {
position: sticky;
top: 1rem;
}
.control {
display: grid;
gap: 0.45rem;
margin-bottom: 1rem;
}
.control span,
.status-label {
font-family: "Avenir Next Condensed", "Franklin Gothic Medium", sans-serif;
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 0.78rem;
color: var(--ink-soft);
}
.toggle-control {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
gap: 0.7rem;
margin-bottom: 1rem;
padding: 0.85rem 0.95rem;
border-radius: 16px;
border: 1px solid rgba(18, 36, 59, 0.1);
background: rgba(255, 255, 255, 0.78);
}
.toggle-control span {
font-family: inherit;
font-size: 0.98rem;
letter-spacing: normal;
text-transform: none;
color: var(--ink);
}
.toggle-control input {
width: 1rem;
height: 1rem;
}
select {
width: 100%;
min-height: 2.8rem;
border-radius: 14px;
border: 1px solid rgba(18, 36, 59, 0.14);
background: white;
color: var(--ink);
padding: 0.65rem 0.8rem;
font: inherit;
}
.mini-note {
margin-top: 1rem;
padding: 0.9rem 1rem;
border-radius: 16px;
background: rgba(22, 61, 122, 0.06);
}
.training-stats {
display: grid;
gap: 0.7rem;
margin-top: 1rem;
}
.training-stat {
display: flex;
justify-content: space-between;
gap: 1rem;
padding: 0.75rem 0.9rem;
border-radius: 16px;
background: rgba(255, 255, 255, 0.78);
border: 1px solid rgba(18, 36, 59, 0.08);
}
.training-stat span {
color: var(--ink-soft);
}
.training-stat strong {
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
font-size: 1.1rem;
}
.status-panel {
margin-bottom: 1rem;
}
.status-meta {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}
.status-value {
margin: 0.2rem 0 0;
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
font-size: 1.8rem;
}
.exam-form {
display: grid;
gap: 1rem;
}
.question-card {
padding: 1.1rem;
}
.question-topline {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 1rem;
margin-bottom: 0.8rem;
}
.question-index {
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--red);
font-size: 0.8rem;
}
.question-theme {
color: var(--ink-soft);
font-size: 0.9rem;
}
.question-text {
margin: 0 0 1rem;
display: grid;
gap: 0.45rem;
}
.question-text .fr-text {
font-weight: 700;
font-size: 1.06rem;
}
.question-text .en-text {
color: var(--ink-soft);
}
.choices {
display: grid;
gap: 0.7rem;
}
.choice {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.8rem;
align-items: start;
padding: 0.8rem 0.85rem;
border-radius: 16px;
border: 1px solid rgba(18, 36, 59, 0.09);
background: rgba(255, 255, 255, 0.8);
}
.choice input {
margin-top: 0.35rem;
}
.choice .fr-choice {
font-weight: 700;
}
.choice .en-choice {
color: var(--ink-soft);
margin-top: 0.2rem;
font-size: 0.95rem;
}
.exam-actions {
margin-top: 1rem;
}
.compact-buttons {
margin-top: 0.75rem;
}
.results {
margin-top: 1.2rem;
padding: 1.2rem;
}
.results-header {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: space-between;
gap: 1rem;
}
.score-pill {
border-radius: 999px;
padding: 0.45rem 0.85rem;
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.score-pill.pass {
background: rgba(44, 122, 82, 0.12);
color: var(--green);
}
.score-pill.fail {
background: rgba(177, 45, 43, 0.12);
color: var(--red);
}
.results-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.8rem;
margin-top: 1rem;
}
.result-card {
padding: 0.9rem;
border-radius: 16px;
background: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(18, 36, 59, 0.08);
}
.result-card strong {
display: block;
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
font-size: 1.45rem;
margin-top: 0.2rem;
}
.review-list {
display: grid;
gap: 0.8rem;
margin-top: 1.2rem;
}
.review-item {
padding: 0.9rem;
border-radius: 18px;
border: 1px solid rgba(18, 36, 59, 0.08);
background: rgba(252, 248, 239, 0.92);
}
.review-item.correct {
border-color: rgba(44, 122, 82, 0.22);
}
.review-item.incorrect {
border-color: rgba(177, 45, 43, 0.2);
}
.review-answer {
display: grid;
gap: 0.25rem;
margin-top: 0.6rem;
}
body.french-only .en-text,
body.french-only .en-choice,
body.french-only .memory-face .en-copy,
body.french-only .memory-answer .en-copy {
display: none;
}
.source-list {
grid-template-columns: repeat(2, 1fr);
}
.source-card {
grid-template-columns: 1fr auto;
padding: 1rem 1.1rem;
border-radius: 22px;
background: rgba(255, 255, 255, 0.78);
border: 1px solid var(--line);
}
.source-card h3 {
margin: 0 0 0.35rem;
font-size: 1.1rem;
}
.source-tag {
align-self: start;
padding: 0.35rem 0.65rem;
border-radius: 999px;
background: rgba(22, 61, 122, 0.08);
color: var(--blue);
font-family: "Avenir Next Condensed", "DIN Alternate", sans-serif;
letter-spacing: 0.06em;
text-transform: uppercase;
font-size: 0.74rem;
}
.hidden {
display: none !important;
}
@media (prefers-color-scheme: dark) {
:root {
--ink: #eef3fb;
--ink-soft: #b8c7dc;
--line: rgba(214, 226, 243, 0.14);
--blue: #8ab4ff;
--blue-bright: #5d94ff;
--red: #ff8c86;
--green: #82d6a5;
--shadow: 0 24px 60px rgba(0, 0, 0, 0.38);
}
body {
background:
radial-gradient(circle at top left, rgba(212, 155, 45, 0.12), transparent 24rem),
radial-gradient(circle at top right, rgba(93, 148, 255, 0.16), transparent 28rem),
linear-gradient(180deg, #0f1726 0%, #111d31 38%, #0b1220 100%);
}
a {
color: #a6c4ff;
}
.hero,
.section {
background: rgba(15, 23, 38, 0.8);
border-color: rgba(214, 226, 243, 0.1);
}
.exam-card,
.panel,
.results,
.question-card,
.cram-card,
.study-block,
.scenario-card,
.timeline-item,
.memory-face,
.source-card,
.result-card,
.review-item,
.training-stat,
.toggle-control,
.context-tooltip {
background: rgb(17, 27, 44);
border-color: rgba(214, 226, 243, 0.1);
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.study-block summary {
background: linear-gradient(135deg, rgba(28, 40, 63, 0.92), rgba(18, 29, 47, 0.92));
}
.study-col.fr {
background: rgba(93, 148, 255, 0.12);
}
.study-col.en {
background: rgba(255, 140, 134, 0.08);
}
.memory-answer,
.mini-note {
background: rgba(93, 148, 255, 0.1);
}
.button.secondary,
.choice,
.source-tag {
background: rgba(25, 38, 60, 0.9);
border-color: rgba(214, 226, 243, 0.1);
color: var(--ink);
}
.source-tag {
color: #a6c4ff;
}
select {
background: rgba(12, 19, 31, 0.95);
border-color: rgba(214, 226, 243, 0.14);
color: var(--ink);
}
.distribution {
border-top-color: rgba(214, 226, 243, 0.2);
}
.distribution-row,
.choice,
.source-card,
.training-stat,
.review-item {
border-color: rgba(214, 226, 243, 0.08);
}
.tricolor-bar span:nth-child(2) {
background: rgba(240, 244, 252, 0.86);
border-color: rgba(214, 226, 243, 0.18);
}
.context-sentence {
text-decoration-color: rgba(166, 196, 255, 0.45);
}
.context-sentence:hover,
.context-sentence:focus-visible {
color: #a6c4ff;
text-decoration-color: rgba(166, 196, 255, 0.95);
}
.question-text .en-text,
.choice .en-choice,
.study-block summary p,
.scenario-label,
.memory-meta,
.memory-placeholder,
.source-body,
.top-nav a,
.training-stat span,
.context-tooltip h4 {
color: var(--ink-soft);
}
}
@media (max-width: 1080px) {
.hero-grid,
.cram-grid,
.memory-grid,
.simulator-grid,
.overview-grid,
.source-list,
.scenario-list {
grid-template-columns: 1fr;
}
.overview-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 760px) {
.page-shell {
width: min(100% - 1rem, 100%);
}
.hero,
.section {
border-radius: 24px;
padding: 1rem;
}
.study-duo,
.timeline-item,
.status-meta,
.results-grid {
grid-template-columns: 1fr;
}
.overview-grid {
grid-template-columns: 1fr;
}
.top-nav {
justify-content: flex-start;
}
.hero-copy h1 {
max-width: none;
}
}