py-learn / src /app /reading /reading.component.css
Anupriya
integrated shared header into all components
0a2fc2b
raw
history blame
21.7 kB
/* === Container, header, background, main === */
.reading-container {
font-family: 'Segoe UI',sans-serif;
background-size: auto;
background-position: center;
background-attachment: fixed;
width: 100%;
height: 100%
}
.main-container {
width: 85%;
margin: 5vh auto;
border: 9px solid #009688;
border-radius: 1.5vw;
background: #fff;
padding: 2vw;
box-shadow: 0 .4vw 1vw rgba(0,0,0,.1);
height: 76vh
}
/* ===== Intro split (match reference, minimal side margins) ===== */
.intro-section.split {
padding-inline: 1vw; /* very small left/right padding */
display: block;
}
.split-shell {
width: 100%;
max-width: none; /* use full inner width */
margin: 0 auto;
display: grid;
grid-template-columns: minmax(320px, 38%) 1fr; /* image left, content right */
align-items: center;
/*gap: 2.2vw;*/
}
/* Left image card */
.split-left {
display: grid;
place-items: center;
}
.intro-illustration {
width: 60%;
}
/* Right content */
.hero-title {
font-size: 2.5vw;
font-weight: 800;
color: #006780;
margin-bottom: 20px;
font-family: raleway;
}
.hero-copy {
font-size: 1.4vw;
text-align: justify;
margin-bottom: 3vw;
}
/* Rows like the reference: label + control(s) */
.form-row {
display: flex;
align-items: center;
gap: 12px;
margin-top: 12px;
}
.row-label {
min-width: 140px;
font-weight: 700;
color: #006780;
font-size: 1.3vw;
}
/* Inputs and selects (reuse your existing styles) */
.input-wrap, .select-wrap {
position: relative;
flex: 1;
}
.input-wrap input, .select-wrap select {
width: 100%;
padding: 12px 40px 12px 36px;
border-radius: 12px;
border: 1px solid #cfe2e0;
background: #fff;
color: #0e3e45;
outline: 0;
transition: border-color .2s, box-shadow .2s;
}
.input-wrap input::placeholder {
color: #93a3b8;
}
.input-wrap input:focus, .select-wrap select:focus {
border-color: #009688;
box-shadow: 0 0 0 3px rgba(0,150,136,.12);
}
/* Icons */
.icon-search, .icon-level {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
width: 18px;
height: 18px;
opacity: .8;
pointer-events: none;
}
.icon-search::before {
content: "🔎";
font-size: 16px;
}
.icon-level::before {
content: "🎯";
font-size: 16px;
}
/* Level badge */
.badge {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 12px;
padding: 4px 8px;
border-radius: 999px;
border: 1px solid #cfe2e0;
background: #f7fcfb;
color: #0e3e45;
}
.badge[data-level="easy"] {
border-color: #bfe6d8;
color: #1b7f57;
background: #ecfbf4;
}
.badge[data-level="medium"] {
border-color: #c7e3f4;
color: #0b74a6;
background: #eef8ff;
}
.badge[data-level="hard"] {
border-color: #f9dfc8;
color: #b35a11;
background: #fff3e9;
}
/* Generate button aligned like “Get Topic” */
.btn-get {
min-width: 150px;
padding: 5px 16px;
border-radius: 12px;
border: 1px solid #009688;
background: #006780;
color: white;
font-weight: 700;
font-size: 1.5vw;
cursor: pointer;
transition: transform .08s, box-shadow .2s, opacity .2s;
}
.btn-get:disabled {
/*opacity: .6;*/
background-color: #bbbbbb;
cursor: not-allowed;
}
.btn-get:not(:disabled):hover {
box-shadow: 0 10px 24px rgba(0,150,136,.22);
}
.btn-get:not(:disabled):active {
transform: translateY(1px);
}
/* Suggestions (keep your existing styles; scoped to intro) */
.intro-section.split .suggestion-box {
position: absolute;
top: calc(100% + 8px);
left: 0;
z-index: 20;
width: 100%;
max-height: 200px;
overflow: auto;
padding: 6px;
border-radius: 12px;
border: 1px solid #cfe2e0;
background: #fff;
box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.intro-section.split .suggestion-box span {
display: block;
padding: 10px 12px;
border-radius: 10px;
cursor: pointer;
color: #0e3e45;
}
.intro-section.split .suggestion-box span:hover,
.intro-section.split .suggestion-box span.active {
background: #f1fbfa;
}
/* Clear (×) inside input */
.input-wrap.clearable {
position: relative;
}
.input-wrap .has-clear {
padding-right: 44px;
}
.clear-btn {
position: absolute;
right: 12px;
top: 55%;
transform: translateY(-53%);
width: 2vw;
height: 2vw;
line-height: 0vw;
text-align: center;
border: 1px solid #cfe2e0;
border-radius: 45%;
background: #006780;
color: white;
cursor: pointer;
padding: 0;
font-size: 2vw;
z-index: 30;
}
.clear-btn:hover {
background: #f1fbfa;
color: #0e3e45;
border-color: #b9d6d3;
}
.clear-btn:active {
transform: translateY(-50%) scale(.98);
}
/* Responsive */
@media (max-width: 980px) {
.split-shell {
grid-template-columns: 1fr;
gap: 16px;
}
.row-label {
min-width: 110px;
}
}
:root {
--passage-font: 21px;
}
/* Header */
.reading-head {
display: grid;
grid-template-columns: 44px 1fr auto;
align-items: center;
gap: 10px;
margin-bottom: 6px;
}
.reading-title {
margin: 0;
text-align: center;
color: #006780;
font-size: clamp(20px, 2.2vw, 39px);
letter-spacing: .3px;
font-weight: 800;
}
.head-actions {
display: flex;
gap: 8px;
}
.icon-btn {
width: 45px;
height: 45px;
display: grid;
place-items: center;
/* color: #eaf1ff; */
background: rgb(32 171 107 / 42%);
border: 4px solid rgba(255, 255, 255, .15);
border-radius: 10px;
cursor: pointer;
transition: transform .05s ease, box-shadow .15s ease, background .15s ease;
font-size: x-large;
font-weight: 800;
}
.icon-btn:hover {
box-shadow: 0 8px 18px rgba(0,0,0,.08);
background: #f7fcfb;
}
.icon-btn:active {
transform: translateY(1px);
}
.icon-btn.active {
border-color: #95d0c9;
background: #eefaf8;
}
.icon-btn.danger {
color: #b1241a;
}
.icon-btn1 {
width: 8vw;
height: 5vh;
display: grid;
place-items: center;
background: rgb(0 150 136);
border: 2px solid rgba(255, 255, 255, .15);
border-radius: 22px;
cursor: pointer;
transition: transform .05s ease, box-shadow .15s ease, background .15s ease;
font-size: x-large;
font-weight: 800;
top: -4vw;
position: relative;
right: -4vw;
}
.icon-btn1:hover {
box-shadow: 0 8px 18px rgba(0,0,0,.08);
background: white;
color: black;
}
/* Meta chips */
.reading-meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 4px 4px 12px;
}
.chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 10px;
border-radius: 999px;
font-weight: 600;
font-size: 13px;
border: 1px solid #d9ecea;
background: #f7fcfb;
color: #0e3e45;
}
.chip-level[data-level="easy"] {
border-color: #bfe6d8;
background: #ecfbf4;
color: #1b7f57;
}
.chip-level[data-level="medium"] {
border-color: #c7e3f4;
background: #eef8ff;
color: #0b74a6;
}
.chip-level[data-level="hard"] {
border-color: #f9dfc8;
background: #fff3e9;
color: #b35a11;
}
/* Passage area */
.passage-shell {
position: relative;
border: 1px solid #e7f1f0;
border-radius: 14px;
background: #f3efef;
padding: 14px 16px;
box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
max-height: 46vh;
overflow: auto;
font-size: 1.4vw;
line-height: 1.8;
}
/* Soft scrollbars */
.passage-shell::-webkit-scrollbar {
width: 12px;
}
.passage-shell::-webkit-scrollbar-thumb {
background: #cfe2e0;
border-radius: 10px;
border: 3px solid #fff;
}
.passage-shell::-webkit-scrollbar-track {
background: #f7fcfb;
}
/* Typography (A−/A+) */
.passage-text {
font-family: Georgia, "Times New Roman", serif;
font-size: var(--passage-font);
line-height: 1.5;
color: #1e3a3f;
/*letter-spacing: .2px;*/
text-align: left;
hyphens: auto;
white-space: pre-wrap;
word-wrap: break-word;
}
.passage-text span {
transition: background-color 0.3s ease;
}
.passage-text .highlight {
background-color: yellow;
}
.passage-text::first-letter {
float: left;
font-size: 2.6em;
line-height: .9;
padding-right: 6px;
padding-top: 2px;
color: #0f7f78;
font-weight: 700;
}
/* Footer buttons */
.reading-actions {
display: flex;
gap: 10px;
justify-content: center;
margin-top: 30px;
}
.btn-primary, .btn-danger {
min-width: 210px;
padding: 12px 18px;
border-radius: 12px;
font-weight: 700;
font-size: 1.3vw;
cursor: pointer;
border: 1px solid transparent;
transition: transform .06s, box-shadow .18s, opacity .18s;
}
.btn-primary {
color: #fff;
background: #006780;
border-color: #006780;
}
.btn-primary:hover {
box-shadow: 0 12px 24px rgba(0,103,128,.25);
}
.btn-primary:disabled {
opacity: .6;
cursor: not-allowed;
}
.btn-danger {
color: #fff;
background: #006780;
border-color: #006780;
}
.btn-danger:hover {
box-shadow: 0 12px 24px rgba(0,103,128,.25);
}
/* Back button (left) reuses .icon-btn */
.back {
grid-column: 1 / 2;
}
/* Responsive */
@media (max-width: 720px) {
.reading-title {
font-size: 22px;
}
.btn-primary, .btn-danger {
min-width: 160px;
}
}
/* Keep all MCQ UI inside the white card */
.main-container {
background: #fff;
overflow: visible;
}
/* you already have this */
/* ---- MCQ card ---- */
.mcq-card {
width: 100%;
margin: 0; /* no side gaps */
background: #fff; /* same white as container */
border: 1px solid #d9ecea;
border-radius: 16px;
padding: 16px;
box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
/* Header inside the card */
.mcq-card__header {
display: grid;
grid-template-columns: 44px 1fr 44px;
align-items: center;
gap: 10px;
margin-bottom: 10px;
font-size: 2vw;
}
.mcq-card__title {
margin: 0;
text-align: center;
color: #0e3e45;
font-weight: 800;
letter-spacing: .2px;
}
.mcq-card__actions {
display: flex;
justify-content: flex-end;
}
/* Question pill */
.quiz-pill {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 12px 14px;
border-radius: 12px;
border: 1px solid #e6f0ef;
background: #f8fbfb;
color: #0e3e45;
font-size: 1.5vw;
}
.quiz-question-pill {
margin-bottom: 3vw;
}
.qq-label {
font-weight: 700;
color: #0b74a6;
white-space: nowrap;
}
.qq-text {
flex: 1;
line-height: 1.6;
}
/* Options list */
.quiz-options {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
@media (max-width: 720px) {
.quiz-options {
grid-template-columns: 1fr;
}
}
/* Option pill */
.quiz-option-pill {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 14px;
border-radius: 12px;
border: 1px solid #dfe9e7;
background: #ffffff;
cursor: pointer;
transition: box-shadow .15s, transform .05s, border-color .15s, background .15s;
}
.quiz-option-pill:hover {
box-shadow: 0 8px 18px rgba(0,0,0,.06);
background: #f7fbfb;
}
.quiz-option-pill .slot {
font-weight: 700;
color: #0b74a6;
min-width: 26px;
}
.quiz-option-pill .opt-text {
color: #0e3e45;
}
/* States */
.quiz-option-pill.is-selected {
border-color: #a8d8d3;
background: #eefaf8;
}
.quiz-option-pill.is-correct {
border-color: #6cc090;
background: #ecfbf4;
}
.quiz-option-pill.is-incorrect {
border-color: #f2b0a9;
background: #fff1ef;
}
/* Hide the native radio */
.visually-hidden {
position: absolute !important;
inset: auto auto auto auto !important;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(1px,1px,1px,1px);
white-space: nowrap;
}
/* Answer status */
.answer-status {
display: flex;
flex-wrap: wrap;
align-items: normal;
gap: 8px;
margin-top: 12px;
justify-content: center;
font-size: 1vw;
margin-top: 2vw;
}
.status-chip {
padding: 6px 10px;
border-radius: 999px;
font-weight: 700;
font-size: 12px;
}
.status-chip.ok {
background: #ecfbf4;
color: #1b7f57;
border: 1px solid #bfe6d8;
}
.status-chip.nope {
background: #ffe9e7;
color: #b1241a;
border: 1px solid #f4b2ab;
}
.status-help {
color: #3a5b60;
}
/* Footer buttons */
.mcq-card__footer {
display: flex;
gap: 10px;
justify-content: end;
margin-top: 6vw;
}
.submit-btn, .next-btn, .reset-btn {
min-width: 160px;
padding: 12px 16px;
border-radius: 12px;
font-weight: 700;
cursor: pointer;
/*border: 1px solid transparent;*/
transition: transform .06s, box-shadow .18s, opacity .18s;
font-size: 1.5vw;
}
.submit-btn {
background: #006780;
color: #fff;
border-color: #006780;
}
.submit-btn:hover {
box-shadow: 0 12px 24px rgba(0,103,128,.25);
}
.submit-btn:disabled {
box-shadow: none;
transform: none;
background-color: #cccccc;
color: #666666;
cursor: not-allowed;
}
.next-btn {
background: #006780;
color: #fff;
border-color: #006780;
}
.next-btn:hover {
box-shadow: 0 12px 24px rgba(0,103,128,.25);
}
.reset-btn {
background: #e5483b;
color: #fff;
border-color: #e5483b;
}
.reset-btn:hover {
box-shadow: 0 12px 24px rgba(229,72,59,.25);
}
/* Loader Overlay */
.loader-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
.loader {
font-size: 15px;
width: 1.5em;
height: 1.5em;
border-radius: 50%;
position: relative;
text-indent: -9999em;
animation: mulShdSpin 1.1s infinite ease;
transform: translateZ(0);
}
@keyframes mulShdSpin {
0%, 100% {
box-shadow: 0em -3em 0em 0em #808080, 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2), 3em 0em 0 0em rgba(128, 128, 128, 0.2), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), 0em 3em 0 0em rgba(128, 128, 128, 0.2), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), -3em 0em 0 0em rgba(128, 128, 128, 0.5), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.7);
}
12.5% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.7), 2.2em -2.2em 0 0em #808080, 3em 0em 0 0em rgba(128, 128, 128, 0.2), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), 0em 3em 0 0em rgba(128, 128, 128, 0.2), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), -3em 0em 0 0em rgba(128, 128, 128, 0.2), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.5);
}
25% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.5), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.7), 3em 0em 0 0em #808080, 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), 0em 3em 0 0em rgba(128, 128, 128, 0.2), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), -3em 0em 0 0em rgba(128, 128, 128, 0.2), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2);
}
37.5% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.2), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.5), 3em 0em 0 0em rgba(128, 128, 128, 0.7), 2.2em 2.2em 0 0em #808080, 0em 3em 0 0em rgba(128, 128, 128, 0.2), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), -3em 0em 0 0em rgba(128, 128, 128, 0.2), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2);
}
50% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.2), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2), 3em 0em 0 0em rgba(128, 128, 128, 0.5), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.7), 0em 3em 0 0em #808080, -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), -3em 0em 0 0em rgba(128, 128, 128, 0.2), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2);
}
62.5% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.2), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2), 3em 0em 0 0em rgba(128, 128, 128, 0.2), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.5), 0em 3em 0 0em rgba(128, 128, 128, 0.7), -2.2em 2.2em 0 0em #808080, -3em 0em 0 0em rgba(128, 128, 128, 0.2), -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2);
}
75% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.2), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2), 3em 0em 0 0em rgba(128, 128, 128, 0.2), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), 0em 3em 0 0em rgba(128, 128, 128, 0.5), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.7), -3em 0em 0 0em #808080, -2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2);
}
87.5% {
box-shadow: 0em -3em 0em 0em rgba(128, 128, 128, 0.2), 2.2em -2.2em 0 0em rgba(128, 128, 128, 0.2), 3em 0em 0 0em rgba(128, 128, 128, 0.2), 2.2em 2.2em 0 0em rgba(128, 128, 128, 0.2), 0em 3em 0 0em rgba(128, 128, 128, 0.2), -2.2em 2.2em 0 0em rgba(128, 128, 128, 0.5), -3em 0em 0 0em rgba(128, 128, 128, 0.7), -2.2em -2.2em 0 0em #808080;
}
}
.popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
/* Card */
.popup-content {
background-color: #fff;
padding: 2vw;
border-radius: 0.5vw;
box-shadow: 0 0.4vw 0.8vw rgba(0, 0, 0, 0.3);
text-align: center;
max-width: 40vw;
width: 80%;
}
.popup-content p {
font-size: 1.4vw;
color: #dc3545;
margin-bottom: 1vw;
}
/* Close button */
.close-btn1 {
padding: 0.8vw 1.5vw;
font-size: 1.2vw;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 0.5vw;
cursor: pointer;
transition: all 0.3s ease;
}
.close-btn1:hover {
filter: brightness(0.98);
}
.close-btn1:active {
transform: translateY(1px);
}
/* small scale-in animation */
@keyframes popupScale {
from {
transform: scale(.96);
opacity: .85;
}
to {
transform: scale(1);
opacity: 1;
}
}
/* Locked/disabled state for Topic input until a level is chosen */
.input-wrap.locked input {
background: #f7f9fb;
border-color: #dfe9e7;
color: #93a3b8;
cursor: not-allowed;
}
.input-wrap.locked .icon-search {
opacity: .5;
}
/* optional: a subtle invisible scrim so nothing inside is clickable */
.input-wrap.locked::after {
content: "";
position: absolute;
inset: 0;
border-radius: 12px;
pointer-events: auto; /* block clicks */
}
/* Helper note under the field */
.field-hint {
margin: 6px 2px 0;
font-size: 12px;
color: #738a95;
display: inline-flex;
align-items: center;
gap: 6px;
}
.lock-icon::before {
content: "🔒";
font-size: 14px;
line-height: 1;
}
/* Keep space for the clear (×) button when enabled */
.input-wrap .has-clear {
padding-right: 44px;
}
/* === Larger Back Arrow Button === */
.icon-btn.back {
width: 3vw; /* bigger button */
height: 3vw;
border-radius: 14px;
border: 1px solid #cfe2e0;
background: #fff;
display: grid;
place-items: center;
cursor: pointer;
box-shadow: 0 2px 8px rgba(0,0,0,.06);
transition: box-shadow .15s, transform .05s, border-color .15s, background .15s;
}
.icon-btn.back:hover {
background: #f7fcfb;
border-color: #b9d6d3;
box-shadow: 0 8px 18px rgba(0,0,0,.08);
}
.icon-btn.back:active {
transform: translateY(1px);
}
/* visible keyboard focus */
.icon-btn.back:focus-visible {
outline: 3px solid rgba(0,150,136,.35);
outline-offset: 2px;
}
/* arrow image inside the button */
.icon-btn.back .icon-img {
width: 3vw; /* bigger arrow */
height: 3vw;
object-fit: contain;
display: block;
transition: transform .12s, opacity .12s;
}
/* subtle nudge on hover */
.icon-btn.back:hover .icon-img {
transform: translateX(-1px);
}
/* mobile: slightly smaller to fit tight headers */
@media (max-width: 720px) {
.icon-btn.back {
width: 44px;
height: 44px;
border-radius: 12px;
}
.icon-btn.back .icon-img {
width: 22px;
height: 22px;
}
}
/* optional: if the header has a teal background */
.header-on-teal .icon-btn.back {
background: #007e74;
border-color: #00756c;
}
.header-on-teal .icon-btn.back .icon-img {
filter: brightness(0) invert(1); /* make arrow white */
}
.passage-text .highlight {
background-color: yellow;
}
/* ===== Congratulations modal ===== */
.congrats-overlay {
position: fixed;
inset: 0;
display: grid;
place-items: center;
/*background: rgba(0, 0, 0, 0.45);*/
}
.congrats-card {
text-align: center;
margin: 47px auto;
padding: 40px;
background: white;
border-radius: 15px;
width: 70vw;
height: 70vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: 'Pacifico', cursive;
position: relative;
z-index: 1;
box-shadow: 0 .4vw 1vw rgba(0, 0, 0, .1);
border: 9px solid #009688;
top: 3vw;
}
.congrats-card h2 {
margin: 8px 0 6px;
color: #0e3e45;
font-weight: 800;
color: #4ca1af;
margin-bottom: 15px;
font-size: 2.5vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: center;
}
.congrats-card p {
margin: 0 0 16px;
color: #0e3e45;
/* color: #4ca1af; */
margin-bottom: 15px;
font-size: 2.5vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: center;
}
/* Score badge */
.score-badge {
display: inline-flex;
align-items: baseline;
gap: 6px;
margin-bottom: 10px;
padding: 10px 14px;
border-radius: 999px;
background: #eef7f6;
color: #0e3e45;
font-weight: 800;
/* color: #4ca1af; */
margin-bottom: 15px;
font-size: 2.5vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: center;
}
.start-over-btn {
min-width: 180px;
padding: 12px 16px;
border-radius: 12px;
background: #006780;
color: #fff;
border: 1px solid #006780;
font-weight: 800;
cursor: pointer;
transition: transform .06s, box-shadow .18s;
font-size: 2vw;
}
.start-over-btn:hover {
box-shadow: 0 12px 24px rgba(0,103,128,.25);
}