/* Practice-only styles; shared header, navigation, and footer use site.css. */
.practice-page {min-height:70vh;padding:36px 24px 60px;background:#f7f9fc;color:#263746}
.practice-page-container {width:100%;max-width:1100px;margin:0 auto}
.practice-breadcrumb {display:flex;align-items:center;gap:7px;margin-bottom:24px;font-size:14px;font-weight:600}
.practice-breadcrumb a,.practice-breadcrumb span {color:#d93025}
.practice-breadcrumb a {text-decoration:none}
.practice-breadcrumb a:hover {text-decoration:underline}
.practice-group {margin-bottom:28px}
.practice-section-heading {margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.3;color:#263746}
.practice-mode-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.practice-mode-card {display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:20px;background:#fff;border:1px solid #dce4eb;box-shadow:0 2px 5px rgba(31,52,70,.025)}
.practice-card-label {display:block;margin:0 0 8px;color:#4d718e;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.65px;text-transform:uppercase}
.practice-mode-card h3 {margin:0;color:#263746;font-size:19px;line-height:1.4}
.practice-mode-card p {margin:8px 0 12px;color:#617181;font-size:14px;line-height:1.65}
.practice-card-action {display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:auto;color:#35638a;font-size:14px;font-weight:700;text-decoration:none}
.practice-card-action:hover {color:#214d70;text-decoration:underline}
.practice-page a:focus-visible {outline:3px solid #3476aa;outline-offset:4px;border-radius:3px}
.custom-practice-section {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:center;overflow:hidden;padding:26px;margin-bottom:28px;border-radius:4px;background:linear-gradient(110deg,#214d70,#3f7da8);color:#fff}
.custom-practice-section::after {content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-70px;top:-90px;border:32px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.custom-practice-content .practice-card-label {color:#d8eaf8}
.custom-practice-content h3 {margin:0;font-size:24px;line-height:1.3;color:#fff}
.custom-practice-content p {max-width:610px;margin:10px 0 16px;font-size:14px;line-height:1.65;color:#edf5fb}
.custom-practice-button,.practice-daily-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;text-align:center}
.custom-practice-button {background:#fff;color:#285779}
.custom-practice-button:hover {background:#edf4f9}
.custom-practice-preview {padding:20px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07)}
.custom-preview-caption {display:block;margin-bottom:18px;color:#ecf5fc;font-size:13px}
.custom-preview-line {display:block;height:5px;margin-bottom:11px;width:100%;border-radius:2px;background:rgba(255,255,255,.35)}
.custom-preview-line:nth-of-type(3) {width:82%}
.custom-preview-line:nth-of-type(5) {width:60%}
.custom-preview-cursor {display:block;width:2px;height:14px;background:#d8eaf8}
.daily-practice-section {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin-bottom:28px;border:1px solid #cddce7;border-left:3px solid #5b82a5;background:#edf3f7}
.daily-practice-section .practice-section-heading {margin-bottom:8px}
.daily-practice-section p {max-width:690px;font-size:14px;line-height:1.65;color:#526778}
.daily-practice-meta {display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0 0;font-size:13px;color:#526778}
.daily-practice-meta div {display:flex;gap:5px}
.daily-practice-meta dt {font-weight:600}
.daily-practice-meta dt::after {content:":"}
.daily-practice-meta dd {margin:0}
.practice-daily-button {flex-shrink:0;background:#3d6c90;color:#fff}
.practice-daily-button:hover {background:#2d5677}
.practice-stats-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.practice-stats-heading .practice-section-heading {margin:0}
.practice-sample-label {font-size:13px;color:#637382}
.practice-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;background:#fff;border:1px solid #dce4eb;}
.practice-stats div {padding:18px 20px;min-width:0}
.practice-stats div+div {border-left:1px solid #e4ebf0}
.practice-stats dt {color:#617181;font-size:13px;line-height:1.5}
.practice-stats dd {margin:5px 0 0;color:#315f82;font-size:25px;font-weight:700;line-height:1.3}
.practice-stats dd span {font-size:14px;font-weight:500}
@media(max-width:900px) {.practice-mode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.custom-practice-section {gap:24px}.daily-practice-section {align-items:flex-start;flex-direction:column}}
@media(max-width:600px) {.practice-page {padding:28px 16px 44px}.practice-mode-grid {grid-template-columns:1fr}.custom-practice-section {grid-template-columns:1fr;padding:22px 20px;gap:20px}.custom-practice-content h3 {font-size:22px}.custom-practice-preview {width:100%}.daily-practice-section {padding:20px}.practice-stats {grid-template-columns:repeat(2,minmax(0,1fr))}.practice-stats div:nth-child(3) {border-left:0}.practice-stats div:nth-child(n+3) {border-top:1px solid #e4ebf0}.practice-stats div {padding:16px}.practice-stats dd {font-size:23px}}

/* Equal-width section navigation; inset dividers never reach the container edges. */
.practice-submenu {display:flex;align-items:stretch;padding:8px 0;margin-bottom:24px;background:#edf3f7;border:1px solid #dce4eb;}
.practice-submenu-link {position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;color:#526778;font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none}
.practice-submenu-link + .practice-submenu-link::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:24px;width:1px;background:#bdccd8;pointer-events:none}
.practice-submenu-link::after {content:"";position:absolute;left:16px;right:16px;bottom:2px;height:2px;background:#3d6c90;opacity:0;pointer-events:none}
.practice-submenu-link:hover,.practice-submenu-link.active {color:#285779}
.practice-submenu-link:hover::after,.practice-submenu-link.active::after {opacity:1}
.practice-submenu-link.active {font-weight:700}
.practice-page .practice-submenu-link:focus-visible {outline-offset:-4px}
@media(max-width:900px) {.practice-submenu {overflow-x:auto}.practice-submenu-link {flex:1 0 160px}}

.practice-card-meta {margin:0 0 12px;font-size:13px;color:#526778;line-height:1.6}
.practice-card-meta div {display:flex;flex-wrap:wrap;gap:5px}
.practice-card-meta dt {font-weight:600}
.practice-card-meta dt::after {content:":"}
.practice-card-meta dd {margin:0}
.practice-custom-workspace .custom-practice-section {display:block;margin-bottom:0;border-radius:4px 4px 0 0}
.practice-custom-workspace textarea {display:block;width:100%;padding:12px;border:1px solid #a9bbc9;border-radius:3px;resize:vertical;font:inherit;font-size:15px;line-height:1.7;color:#263746;background:#fbfcfd}
.practice-input-counts,.practice-local-note,.practice-last-date {font-size:13px;color:#617181;margin:10px 0 18px}
.practice-custom-options {display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px}
.practice-custom-options select {min-height:44px;padding:8px 12px;border:1px solid #a9bbc9;border-radius:3px;color:#263746;background:#fff;font:inherit;font-size:14px}
.practice-custom-options .practice-guidance-toggle {display:flex;align-items:center;gap:8px;margin:0;min-height:44px}
.practice-guidance-toggle input {width:18px;height:18px;accent-color:#3d6c90}
.practice-custom-workspace button {font-family:inherit;cursor:pointer}
.practice-custom-workspace :is(textarea,select,input,button):focus-visible,.practice-attempts-table:focus-visible {outline:3px solid #3476aa;outline-offset:3px}
.practice-daily-activities {padding-left:18px;margin:16px 0 0;color:#526778;font-size:13px;line-height:1.9}
.practice-attempts-table {overflow-x:auto;background:#fff;border:1px solid #dce4eb;}
.practice-attempts-table table {width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}
.practice-attempts-table caption {text-align:left;padding:16px;font-weight:700;color:#263746}
.practice-attempts-table th,.practice-attempts-table td {padding:12px 16px;border-top:1px solid #e4ebf0}
.practice-attempts-table th {background:#edf3f7;color:#315f82;font-size:13px}
.practice-attempts-table td {color:#526778}

.practice-custom-form {padding:22px;background:#fff;border:1px solid #dce4eb;}
.practice-custom-form label {display:block;font-size:14px;font-weight:600;margin-bottom:8px}

.quick-selection-note {font-size:14px;color:#617181;line-height:1.6;margin:0 0 20px}
.quick-passage-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;padding:12px 20px;margin:0;background:#fff;border:1px solid #dce4eb;}
.quick-passage-list li {min-width:0;border-bottom:1px solid #e4ebf0}
.quick-passage-list a {display:flex;align-items:center;gap:12px;padding:12px 4px;min-height:46px;font-size:15px;font-weight:600;color:#315f82;text-decoration:none;overflow-wrap:anywhere}
.quick-passage-list a:hover {color:#214d70;background:#f1f6fa}
.quick-passage-number {font-size:13px;color:#718594;flex:0 0 24px;font-weight:500}
@media(max-width:600px) {.quick-passage-list {grid-template-columns:1fr;padding:8px 14px}.practice-breadcrumb {flex-wrap:wrap}}

.content-selection {padding:22px;border:1px solid #dce4eb;background:#fff}
.content-selection fieldset {border:0;margin:0 0 20px;padding:0;min-width:0}
.content-selection legend {font-size:15px;font-weight:700;margin-bottom:12px;color:#263746}
.content-type-options,.content-duration-options {display:flex;flex-wrap:wrap;gap:12px}
.content-choice {position:relative;flex:1;min-width:120px;cursor:pointer}
.content-choice input {position:absolute;opacity:0;width:1px;height:1px}
.content-choice span {display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;border:1px solid #c5d4df;background:#f7f9fc;font-size:14px;font-weight:600;color:#526778;text-align:center}
.content-choice input:checked + span {border-color:#3d6c90;background:#e5eff7;color:#214d70;box-shadow:inset 0 -2px #3d6c90}
.content-choice input:focus-visible + span {outline:3px solid #3476aa;outline-offset:3px}
.content-selection-note {font-size:13px;line-height:1.7;color:#617181;margin:0 0 18px}
@media(max-width:600px) {.content-selection {padding:16px}.content-choice {min-width:110px}}

/* Skill cards keep the established palette and compact presentation. */
.practice-mode-grid.skill-mode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.skill-configuration h3 {margin:16px 0 8px;font-size:20px}
.skill-configuration p {font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.skill-configuration button {cursor:pointer;font:inherit;background:#3d6c90;color:#fff}
.skill-configuration .content-choice {flex:0 1 110px;min-width:85px}
@media(max-width:600px) {.practice-mode-grid.skill-mode-grid {grid-template-columns:1fr}}

.daily-today-panel {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid #cddce7;border-left:3px solid #5b82a5;background:#edf3f7;margin-bottom:20px}
.daily-today-panel h3 {font-size:21px;margin:4px 0 8px;line-height:1.4}
.daily-today-panel h3 a {color:#285779;text-decoration:none}
.daily-today-panel p {margin:6px 0;color:#526778;font-size:14px}
.daily-summary {margin:18px 0}
.daily-range {background:#fff;border:1px solid #dce4eb;margin:12px 0;overflow:hidden}
.daily-range summary {padding:13px 16px;cursor:pointer;color:#315f82;font-weight:700;font-size:14px}
.daily-day-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0 16px;margin:0;gap:0 24px}
.daily-day {display:grid;grid-template-columns:55px minmax(0,1fr);gap:4px 10px;padding:12px 4px;border-top:1px solid #e4ebf0;font-size:13px;align-content:start}
.daily-number {font-weight:700;color:#617181}
.daily-name {overflow-wrap:anywhere;line-height:1.5}
.daily-name a {color:#315f82;text-decoration:none}
.daily-name a:hover {text-decoration:underline}
.daily-day small {grid-column:2;color:#617181;font-size:13px;line-height:1.5}
.daily-locked {color:#7a8590;background:#fafbfd}
.daily-current {background:#edf3f7}
.daily-current .daily-number,.daily-current small {color:#285779}
.daily-completed small {color:#287043}
.daily-cycle-note {padding:12px;background:#edf4ef;color:#287043;border:1px solid #cbdccf;}
@media(max-width:600px) {.daily-today-panel {align-items:flex-start;flex-direction:column;padding:16px}.daily-day-list {grid-template-columns:1fr}.daily-today-panel h3 {font-size:19px}}

/* Spacious introductions for Practice sections. */
.practice-intro{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px 30px;margin-bottom:28px;border:1px solid #2769b6;text-align:center;background:radial-gradient(ellipse at 50% 42%,rgba(25,125,255,.35),transparent 65%),linear-gradient(145deg,#073B92 0%,#096BE0 42%,#0756BD 70%,#032968 100%)}
.practice-intro .practice-section-heading{margin:0;background:none!important}
.practice-intro-eyebrow{font:700 14px/1.4 var(--font-ui);letter-spacing:.6px;color:#ADD8E6}
.practice-intro>p{max-width:760px;margin:0;color:#000;font:700 clamp(14px,1.4vw,18px)/1.6 var(--font-ui);letter-spacing:.3px}
.practice-intro-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:4px 0 0;font:600 13px/1.6 var(--font-ui);color:#D1D5DB}
.practice-intro-benefits li::before{content:'\2713';margin-right:7px;color:#ADD8E6}
@media(max-width:600px){.practice-intro{min-height:230px;padding:28px 18px;gap:12px}.practice-intro-benefits{gap:8px 16px;font-size:13px}}
