:root{--bg:#f8f8ff;--text:#17151f;--muted:#6d697b;--purple:#6335d7;--blue:#2563eb;--border:#e3def7;--max:1180px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid #eae7f4}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;font-size:1.3rem;color:var(--purple)}.brand-icon{display:grid;place-items:center;width:39px;height:39px;border:2px solid var(--purple);border-radius:50%;font-size:22px;letter-spacing:-3px;padding-right:4px}.back-link,.breadcrumbs a{color:var(--muted);text-decoration:none;font-size:.92rem}.back-link:hover,.breadcrumbs a:hover{color:var(--purple)}
.today-page{padding-top:30px;padding-bottom:80px}.breadcrumbs{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.9rem;margin-bottom:28px}.today-shell{max-width:960px;margin:0 auto;border:1px solid #ddd5ff;border-radius:23px;background:#fff;padding:36px;box-shadow:0 18px 50px rgba(40,22,110,.035)}.session-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.kicker{font-size:.76rem;font-weight:800;letter-spacing:.12em;color:var(--purple);margin-bottom:8px}.session-heading h1{font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.035em;line-height:1.15;margin:0 0 10px}.session-heading p{margin:0;color:var(--muted);font-size:.95rem}.course-chip{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:9px 14px;color:#46317e;background:#faf8ff;font-weight:700;font-size:.9rem}
.practice-card{background:#faf9ff;border-radius:18px;padding:24px 22px 22px}.practice-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#555574;font-size:.86rem;font-weight:800}.practice-label{font-size:.73rem;letter-spacing:.08em;color:#867ca4}.practice-prompt{color:#555574;font-size:.85rem;font-weight:800;letter-spacing:.025em;margin-bottom:16px}.question{font-size:1.22rem;line-height:1.35;margin:0 0 17px;font-weight:750}.practice-input-row{display:flex;gap:9px}.practice-input{min-width:0;flex:1;border:1px solid #dcd4ff;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;outline:none}.practice-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6335d71a}.secondary-button,.option-button{border:1px solid #dcd4ff;border-radius:12px;background:#fff;color:#4015b3;font:inherit;font-weight:750;cursor:pointer}.secondary-button{padding:0 18px}.secondary-button:hover,.option-button:hover{border-color:var(--purple)}button:disabled{cursor:default;opacity:.8}.practice-feedback{margin-top:18px;border-radius:12px;padding:13px 15px;font-weight:650;font-size:.92rem}.practice-feedback.correct{background:#e9f8f0;color:#176f49}.practice-feedback.almost{background:#fff6dd;color:#8d6100}.practice-feedback.wrong{background:#fff0f1;color:#9c3140}.primary-button{margin-top:18px;background:var(--purple);border:1px solid var(--purple);color:#fff;border-radius:12px;padding:12px 20px;font:inherit;font-weight:750;cursor:pointer}.primary-button:hover{background:#5126bb}.practice-options{display:grid;gap:10px}.option-button{padding:13px 16px;text-align:left;color:#282139}.option-button.correct-choice{border-color:#3ca87a;background:#e9f8f0}.option-button.wrong-choice{border-color:#d76979;background:#fff0f1}.complete-description{color:var(--muted);margin:-4px 0 18px}.practice-summary{display:flex;gap:12px;flex-wrap:wrap}.summary-item{min-width:140px;display:flex;flex-direction:column;border:1px solid var(--border);background:#fff;padding:14px 18px;border-radius:12px;color:var(--muted);font-size:.84rem}.summary-item strong{color:var(--text);font-size:1.5rem}.prototype-note{text-align:center;color:#908ba0;font-size:.78rem;margin:20px auto}
@media(max-width:650px){.container{width:calc(100% - 30px)}.today-page{padding-top:20px}.breadcrumbs{margin-bottom:18px}.today-shell{padding:22px 16px;border-radius:19px}.session-heading{align-items:flex-start;flex-direction:column;gap:15px}.practice-card{padding:20px 16px}.practice-input-row{flex-wrap:wrap}.practice-input{flex-basis:100%}.secondary-button{min-height:43px;flex:1}.summary-item{flex:1;min-width:120px}}


/* Match the Rememios home-page brand colors and header */
.site-header .header-inner { height: 82px; }
.site-header .brand { color: #6435d7; }
.site-header .brand span {
  background: linear-gradient(90deg, #2563eb, #6435d7);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Match the homepage hero background behind the Today practice content. */
body.today-practice-page { background: #f7f8ff; }


/* Audio-input recall exercises */
.practice-audio-row { display:flex; align-items:center; gap:12px; margin:12px 0 20px; }
.practice-audio-play { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:10px 18px; border:1px solid #cbbcf4; border-radius:12px; background:#fff; color:#6435d7; font:inherit; font-weight:750; cursor:pointer; }
.practice-audio-play:hover:not(:disabled) { background:#f4f0ff; border-color:#a58de9; }
.practice-audio-play:focus-visible { outline:3px solid #a998ff; outline-offset:3px; }
.practice-audio-play:disabled { opacity:.65; cursor:not-allowed; }
.practice-audio-status { font-size:.85rem; color:#6d697b; }

/* Exercise images — recall and multiple choice */
.practice-exercise-image { display:block; width:100%; max-width:320px; max-height:320px; object-fit:contain; margin:12px auto 22px; border-radius:12px; }
.practice-image-option { display:flex; align-items:center; justify-content:center; min-height:140px; }
.practice-image-option .practice-exercise-image { max-width:180px; max-height:180px; margin:0; }
.practice-options:has(.practice-image-option) { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:520px) { .practice-image-option { min-height:110px; } .practice-image-option .practice-exercise-image { max-height:140px; } }
