/* «Потік»: approved prototype src/styles.css + src/course/styles.css.
   Components: New York Button default/outline, Card, Item, Accordion, Field.
   Legacy selectors consume semantic aliases; geometry never depends on theme. */
:root {
  color-scheme: light;
  --flow-background:#f6f5f3; --flow-foreground:#232321; --flow-card:#fff;
  --flow-action:#2e0f14; --flow-on-action:#fff; --flow-secondary:#edece8;
  --flow-muted:#64645f; --flow-hover:#e9e7e3; --flow-border:#dfded9;
  --flow-input:#c8c7c0; --flow-ring:#9d6975;
  --flow-success:#2e6754; --flow-success-surface:#e9f0ec;
  --flow-info:#435b74; --flow-info-surface:#e9eef4;
  --flow-attention:#775618; --flow-attention-surface:#f5eddb;
  --flow-error:#a12c35; --flow-error-surface:#f8e9eb;
  --page:var(--flow-background); --surface:var(--flow-card); --raised:var(--flow-secondary);
  --surface-2:var(--flow-hover); --primary:var(--flow-foreground); --secondary:var(--flow-muted);
  --muted:var(--flow-muted); --accent:var(--flow-action); --on-accent:var(--flow-on-action);
  --accent-hi:color-mix(in srgb,var(--flow-action) 90%,var(--flow-background));
  --link:var(--flow-foreground); --progress-color:var(--flow-action);
  --sage:var(--flow-secondary); --sage-deep:var(--flow-muted);
  --disabled:var(--flow-border); --line:var(--flow-border); --line-strong:var(--flow-input);
  --line-soft:var(--flow-secondary); --control-border:var(--flow-input); --cta-outline:transparent;
  --success:var(--flow-success); --success-surface:var(--flow-success-surface); --success-line:var(--flow-success);
  --error:var(--flow-error); --danger:var(--flow-error); --focus-ring:var(--flow-ring);
  --badge-neutral-text:var(--flow-muted); --badge-neutral-surface:var(--flow-secondary);
  --badge-info-text:var(--flow-info); --badge-info-surface:var(--flow-info-surface);
  --badge-success-text:var(--flow-success); --badge-success-surface:var(--flow-success-surface);
  --badge-attention-text:var(--flow-attention); --badge-attention-surface:var(--flow-attention-surface);
  --badge-error-text:var(--flow-error); --badge-error-surface:var(--flow-error-surface);
  --nav-background:var(--flow-card); --shadow:none;
  --action-radius:14px; --action-height:44px; --radius-sm:12px; --radius-md:16px; --radius-lg:22px;
  --app-nav-panel-height:62px; --app-nav-inline-inset:24px;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --flow-background:#111112; --flow-foreground:#f5f5f7; --flow-card:#1d1d1f;
  --flow-action:#e7ddc9; --flow-on-action:#29251f; --flow-secondary:#28282b;
  --flow-muted:#b4b3b8; --flow-hover:#303033; --flow-border:#3b3b41;
  --flow-input:#67666d; --flow-ring:#bd8f99;
  --flow-success:#a8c8b0; --flow-success-surface:#203027;
  --flow-info:#b5c7dd; --flow-info-surface:#202936;
  --flow-attention:#dcc38e; --flow-attention-surface:#332c20;
  --flow-error:#efa0a6; --flow-error-surface:#352323;
}
body { font-size:16px; line-height:1.5; }
.app-shell { width:min(100%,720px);max-width:720px;padding: max(20px,var(--app-header-clearance)) max(32px,var(--app-safe-right)) calc(112px + var(--app-safe-bottom)) max(32px,var(--app-safe-left)); }
.app-header { max-width:640px;min-height:44px;margin:0 auto 28px;padding:0;gap:16px; }
.brand-wordmark { font-size:14px;line-height:1.4;letter-spacing:-.01em;font-weight:600; }
.profile-button { width:44px;height:44px;min-width:44px;padding:10px;border:0;background:transparent; }
.profile-button:hover { background:var(--flow-hover); }
.main-content { width:100%;max-width:640px;padding:0; }
.page-header,.lesson-header { padding:0;margin:0 0 28px; }
.page-title,.state-card .page-title,.course-title,.lesson-header .page-title,.lesson-rich-text h1 { font-size:29px;line-height:1.25;font-weight:650;letter-spacing:-.025em; }
.page-title { max-width:none; }
.page-intro,.course-copy,.body-copy,.card-copy,.lesson-paragraph,.homework-panel .lesson-paragraph,.lesson-rich-text { font-size:16px;line-height:1.5; }
.section-title,.lesson-subtitle,.homework-title,.lesson-rich-text h2,.lesson-rich-text h3 { font-size:21px;line-height:1.35;letter-spacing:-.02em; }
.card-title,.notebook-step,.purchase-course,.event-row-title { font-size:23px;line-height:1.3;letter-spacing:-.02em; }
.page-intro { margin-top:12px; }
.eyebrow,.homework-label { font-size:12px;line-height:1.5;color:var(--flow-muted); }
.quiet-note,.course-meta,.profile-meta,.card-meta,.notebook-prompt,.next-note { font-size:14px;line-height:1.5; }
.lesson-body { gap:24px; }
.lesson-card,.homework-screen { max-width:640px;padding:0; }
.lesson-body .lesson-paragraph { color:var(--primary); }
.button,.program-card .card-action,.offer-choice .offer-action,.access-card .offer-action,
.lesson-action .button,.lesson-homework .homework-submit,.homework-screen .homework-submit,
.purchase-actions .button,.error-actions .button,.gift-actions .button,.course-notebook-entry {
  min-height:44px;height:auto;padding:10px 20px;border-radius:var(--action-radius);
  font-size:16px;line-height:1.35;font-weight:500;box-shadow:none;
  transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out;
}
.button-primary { background:var(--accent);border-color:transparent;color:var(--on-accent); }
.button-primary:hover:not(:disabled) { background:var(--accent-hi);color:var(--on-accent); }
.button-secondary,.course-notebook-entry { background:transparent;border-color:var(--control-border);color:var(--primary); }
.button-secondary:hover:not(:disabled),.course-notebook-entry:hover:not(:disabled) { background:var(--flow-hover);border-color:var(--control-border);color:var(--primary); }
.button:disabled { opacity:.5;background:var(--accent);border-color:transparent;color:var(--on-accent);cursor:default; }
.button-secondary:disabled { background:transparent;border-color:var(--control-border);color:var(--primary); }
.button:active:not(:disabled) { transform:none; }
.button-tertiary,.lesson-action .homework-skip { background:transparent;color:var(--primary);border:0;padding-inline:12px; }
.lesson-footer-actions { margin:24px auto 0;gap:8px; }
.lesson-footer-actions > .button,.lesson-footer-actions > .course-notebook-entry { min-height:44px; }
.contextual-return-link { font-size:14px;margin-bottom:28px;color:var(--primary); }
.badge,.course-cover-fact,.homework-meta,.module-state-label,.outline-current-label,.purchase-status,.gift-history-status { min-height:24px;padding:3px 10px;font-size:12px;line-height:1.5;font-weight:500; }
/* Card content insets from New York Card; no enrollment artwork above the badge. */
.program-list,.course-list { grid-template-columns:minmax(0,1fr);gap:24px; }
.program-card { display:flex;gap:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface); }
.program-card > .program-card-cover { display:none; }
.program-card > .badge { margin:0 0 12px;align-self:flex-start; }
.program-card > .card-title,.program-card:has(.program-card-cover.is-fallback) > .card-title { margin:0 0 24px;padding:0;background:transparent;border-radius:0;font-size:23px;line-height:1.3; }
.program-card > .progress-wrap { margin:0 0 12px; }
.program-card > .card-meta { margin:0 0 24px; }
.program-card > .card-action { margin:0; }
.program-card > .card-copy { margin:24px 0 0;padding:0; }
.progress-track { background:var(--line);height:4px; }
.progress-fill { background:var(--progress-color); }
.home-section { margin-top:28px; }
.home-course-banners { margin-top:32px; }
.home-course-banner { border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden; }
.home-course-banner-body { padding:24px; }
.home-course-banner-copy { font-size:16px;line-height:1.5; }
.home-quick-grid { margin-top:24px; }
.home-quick-card { padding:16px;border:1px solid var(--line);background:var(--surface); }
.home-quick-title { font-size:16px;font-weight:500; }
.home-quick-hint { font-size:14px; }
.course-head { padding:0;margin-bottom:28px; }
.course-head > .cover { aspect-ratio:16/9;margin-bottom:28px;border-radius:16px; }
.course-head > .course-title { margin:0 0 24px; }
.course-head > .course-copy { margin:0 0 24px; }
.course-author { grid-template-columns:72px minmax(0,1fr);padding:24px;margin:28px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface); }
.course-author-portrait { width:72px;height:72px; }
.course-author-name { font-size:19px;line-height:1.35; }
.course-author-bio { font-size:16px;line-height:1.5; }
.course-programme { padding-block:28px;margin-block:32px;border-block:1px solid var(--line); }
.course-programme-list { gap:24px;margin-top:24px; }
.course-programme-row { padding:0;border:0; }
.course-programme-number { width:auto;height:auto;min-width:24px;padding:0;border:0;border-radius:0;background:transparent;color:var(--secondary);font-size:13px; }
.course-programme-title { font-size:18px;line-height:1.4; }
.course-programme-description { font-size:16px;line-height:1.5;color:var(--secondary); }
.course-bonuses-card,.access-card,.gift-offer-card,.gift-detail-card,.gift-create-card,.gift-claim-card,.gift-history-card,.purchase-entry,.notebook-entry,.notebook-course-card { padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:none; }
.course-bonuses-card,.access-card { margin-top:24px; }
.course-bonuses-title,.access-title,.gift-section-title { font-size:21px;line-height:1.35; }
.purchase-guide {padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.purchase-guide-title {font-size:21px;line-height:1.35;}
.purchase-guide-text {font-size:16px;line-height:1.5;}
.gift-offer-product {font-size:17px;line-height:1.4;}
.gift-offer-title {font-size:14px;line-height:1.5;}
.course-bonuses-item { font-size:16px;line-height:1.5; }
.offer-price-value,.gift-offer-price { font-size:27px;line-height:1.25; }
.offer-choice { padding-block:24px; }
.course-terms-consent { font-size:14px; }
/* Programme uses the same quiet Accordion/Item hierarchy as the prototype. */
.module-list { gap:0;border-block:1px solid var(--line); }
.module-card { border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent; }
.module-card:last-child { border-bottom:0; }
.module-toggle { padding:20px 16px; }
.module-toggle-title { font-size:17px;line-height:1.4;font-weight:500; }
.module-toggle:hover { background:transparent; }
.outline-link { padding:20px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent; }
.outline-row:last-child .outline-link { border-bottom:0; }
.outline-row.is-current .outline-link { border:0;border-radius:12px;background:var(--raised); }
.outline-title { font-size:17px;line-height:1.4;font-weight:500; }
.outline-meta { font-size:12px;line-height:1.5; }
.outline-link:hover:not(:disabled) { background:var(--flow-hover); }
.block-choices { gap:12px; }
.block-choice-pick,.block-choice--read-only { min-height:60px;padding:14px 16px;border:1px solid var(--control-border);border-radius:12px;background:var(--surface);font-size:16px;line-height:1.5; }
.block-choice-number { font-size:16px; }
.block-choice.is-chosen .block-choice-pick,.block-choice--read-only.is-chosen { background:var(--raised);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent); }
.answer-field,.homework-panel .answer-field { min-height:160px;padding:14px 16px;background:var(--surface);border-color:var(--control-border);border-radius:14px;font-size:16px;line-height:1.5; }
.homework-status { padding:20px 0;background:transparent;border-radius:0;border-block:1px solid var(--line); }
.homework-status--approved { background:transparent; }
.homework-answer,.homework-panel .homework-answer { padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:12px; }
.homework-feedback,.homework-panel .homework-feedback { padding:20px;border:0;border-left:2px solid var(--focus-ring);border-radius:0 12px 12px 0;background:var(--raised); }
.homework-voice-meter { border:1px solid var(--line);background:var(--surface); }
.done-card { margin-block:28px;padding:0;background:transparent;border:0; }
.done-title { font-size:23px;line-height:1.3; }
.profile-card { display:flex;align-items:center;gap:16px;padding:0;margin-bottom:28px; }
.profile-name { margin:0;font-size:19px;line-height:1.35; }
.profile-portrait { width:52px;height:52px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--raised);color:var(--secondary);font-size:22px; }
.profile-portrait img { width:100%;height:100%;object-fit:cover; }
.profile-menu { margin:0;border-top:1px solid var(--line);gap:0; }
.profile-menu-row,.profile-menu .course-notebook-entry { min-height:72px;width:100%;margin:0;padding:18px 16px;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;color:var(--primary); }
.profile-menu-copy { font-size:16px;font-weight:500; }
.profile-menu-row:hover,.profile-menu .course-notebook-entry:hover { background:var(--flow-hover);color:var(--primary); }
.profile-menu-row:disabled { background:transparent;color:var(--secondary); }
.profile-menu-arrow { color:var(--secondary); }
.notebook-prompt,.notebook-response-value,.notebook-course-title,.answer-variant-copy { font-size:16px;line-height:1.5; }
.notebook-list,.purchases-list,.gift-history-list { gap:24px; }
.event-row { padding:24px;border:1px solid var(--line);background:var(--surface); }
.empty-card,.soon-card { padding:24px 0;background:transparent;border:0; }
.bottom-nav { width:min(640px,calc(100% - 48px));height:62px;min-height:62px;gap:4px;padding:6px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 8px 24px #00000008; }
.nav-item { min-height:48px;height:48px;gap:4px;padding:6px 2px;border-radius:16px;color:var(--secondary); }
.nav-item.is-active { background:var(--raised);color:var(--primary); }
.nav-item:hover { background:var(--flow-hover);color:var(--primary); }
.nav-item .nav-icon { width:21px;height:21px; }
.nav-label { font-size:11px;line-height:1.25; }
/* The approved announcement banners retain their media/scrim design. */
.home-feature-section { margin:0 0 32px; }
.home-feature-media { --primary:#f5f5f7;--secondary:#c4c4c4;--link:#a3b1c4;--surface:#1d1d1f;--raised:#242424; }
.home-feature-media .home-feature-title { color:#f5f5f7; }
.home-course-banner-media,.event-banner { --on-accent:#fff;--primary:#f5f5f7;--secondary:#c4c4c4;color:#f5f5f7; }
.home-feature-media.is-fallback .home-feature-copy { background:#1d1d1f;color:#f5f5f7; }
.home-feature-slide .home-feature-teaser { color:var(--secondary); }
/* Legal screens use the same palette and reading metrics without rewriting text. */
body.legal-page { max-width:720px;padding:32px; }
.legal-page h1 { font-size:29px;line-height:1.25; }
.legal-page h2 { font-size:21px;line-height:1.35;margin-top:32px; }
.legal-page .meta,.legal-page .notice { padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface); }
.legal-page a { color:var(--primary); }
@media(max-width:600px) {
  .app-shell { padding-inline:max(24px,var(--app-safe-left)) max(24px,var(--app-safe-right)); }
  .app-header { margin-bottom:24px; }
  .page-title,.state-card .page-title,.course-title,.lesson-header .page-title { font-size:27px; }
  body.legal-page { padding:24px; }
}
@media(max-width:350px) {
  .app-shell { padding-inline:max(16px,var(--app-safe-left)) max(16px,var(--app-safe-right)); }
  .bottom-nav { width:calc(100% - 32px); }
  .nav-label { font-size:10px; }
  .program-card,.course-author,.course-bonuses-card,.access-card,.gift-offer-card,.gift-detail-card,.gift-create-card,.gift-claim-card,.gift-history-card,.purchase-entry,.notebook-entry,.notebook-course-card { padding:16px; }
  body.legal-page { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .button { transition:none; } }

/* Remaining approved Flow pages: Item rows, Card content and shared Footer. */
.flow-card {display:grid;justify-items:start;gap:24px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}
.flow-card .body-copy {margin:0;}
.flow-row {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:72px;gap:20px;padding:18px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--primary);text-align:left;cursor:pointer;}
.flow-row-copy {display:grid;min-width:0;gap:4px;}
.flow-row-copy strong {font-size:16px;font-weight:500;}
.flow-row-copy>span {font-size:13px;line-height:1.5;color:var(--secondary);}
.flow-row:hover {background:var(--surface-2);}
.flow-row:focus-visible {outline:2px solid var(--focus-ring);outline-offset:2px;}
.flow-home-shortcuts {margin-top:24px;border-top:1px solid var(--line);}
.flow-profile-support {display:grid;justify-items:start;gap:20px;margin:32px 0;}
.flow-profile-support .body-copy {margin:0;}
.flow-profile-support .profile-menu-row {border-top:1px solid var(--line);}
.flow-gift-how {display:grid;gap:20px;margin-top:32px;}
.flow-gift-how ol {display:grid;gap:16px;margin:0;padding-left:24px;}
.flow-gift-how li {padding-left:4px;font-size:16px;line-height:1.5;}
.gift-create-card {gap:24px;}
.gift-create-card .gift-offer-title {margin:0;}
.gift-history-card {margin-top:32px;padding:24px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;}
.gift-history-row {padding:18px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;gap:8px;}
.gift-history-title {font-size:16px;font-weight:500;}
.gift-detail-card {gap:24px;}
.gift-detail-card .gift-detail-product {font-size:21px;font-weight:600;line-height:1.35;}
.gift-detail-card .gift-detail-offer {font-size:14px;margin:0;}
.gift-actions {display:flex;flex-direction:column;width:max-content;max-width:100%;gap:8px;}
.gift-actions .button {width:100%;flex:none;}
.gift-share-heading,.gift-share-title {font-size:18px;line-height:1.4;margin:0;}
.flow-personal-notes {display:grid;gap:20px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.flow-note-form {display:grid;justify-items:start;gap:12px;}
.flow-note-form>label {font-size:14px;font-weight:600;}
.flow-note-form .answer-field {resize:vertical;}
.flow-note-form .quiet-note {margin:0;}
.flow-note-form .form-error:empty {display:none;}
.saved-answer {white-space:pre-wrap;overflow-wrap:anywhere;margin:0;}
.flow-result-icon {display:grid;place-items:center;width:44px;height:44px;margin-bottom:20px;border-radius:50%;background:var(--success-surface);color:var(--success);font-size:24px;}
.flow-finished-copy {margin:0 0 32px;color:var(--secondary);font-size:16px;line-height:1.5;}
.event-detail-cover {display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin-bottom:28px;}
.event-list .event-row {display:grid;gap:20px;padding:24px;overflow:hidden;}
.event-list .event-detail-cover {margin:-24px -24px 0;width:calc(100% + 48px);border-radius:0;aspect-ratio:2/1;}
.event-list .event-row-title {font-size:21px;line-height:1.35;}
.event-row-teaser {font-size:16px;line-height:1.5;color:var(--secondary);margin:0;}
@media(max-width:350px){.flow-card {padding:16px;}.flow-row {gap:12px;}}
.flow-current-step {display:grid;gap:4px;margin-bottom:24px;}
.flow-current-step>span {font-size:12px;color:var(--secondary);}
.flow-current-step>strong {font-size:17px;font-weight:500;}
.program-card>.flow-programme-link {margin:8px 0 0 -12px;min-height:44px;padding-inline:12px;text-decoration:none;}
.program-card>.card-copy {display:none;}

.flow-repeat-copy {display:grid;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}
.flow-repeat-copy .body-copy {margin:0;}
.flow-finish-actions {display:flex;flex-direction:column;gap:8px;width:max-content;max-width:100%;margin:24px auto;}
.flow-finish-actions>.learning-ui {width:100%;}
.flow-finish-actions>.course-notebook-entry {width:100%;margin:0;justify-content:center;}
.purchase-entry>.badge,.notebook-entry>.badge,.gift-history-row>.badge {justify-self:start;align-self:start;}
/* Equal-height action pairs even when the longer label wraps at 320px. */
.lesson-footer-actions,.gift-actions,.flow-finish-actions {display:grid;grid-auto-rows:1fr;align-items:stretch;}
.flow-finish-actions>.course-notebook-entry {height:100%;}

/* New York CardHeader px-6: a list heading aligns with its cards' text. */
.home-section>.section-row {padding-inline:24px;}
@media(max-width:350px){.home-section>.section-row {padding-inline:16px;}}
.page-header:has(>.badge) {display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.page-header:has(>.badge)>.page-intro {margin-top:0;}
.course-author-bio {grid-column:1/-1;margin:0;}
.course-author-label {font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;}
.home-section>.section-row {border-inline:1px solid transparent;}
.course-author {display:grid;}
.course-programme-list {display:grid;}
.course-programme-row+.course-programme-row {margin:0;padding:0;border:0;}
/* Native scrolling stays enabled; only the page scrollbar is visually hidden. */
html,body {scrollbar-width:none;}
html::-webkit-scrollbar,body::-webkit-scrollbar {display:none;width:0;height:0;}

/* CardFooter: actions stay inside their own note, gap-2 with wrapping on phones. */
.flow-note-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.flow-personal-notes .flow-card {justify-items:stretch;}

/* Flow audit: ProgrammePage, ReviewResult, ProfilePage and EventPage source layouts. */
.app-header>.contextual-return-link {margin:0;min-height:44px;padding:10px 12px;margin-left:-12px;}
.course-head>.badge {margin-bottom:12px;}
.flow-section-link {display:flex;justify-content:center;margin-top:28px;}
.flow-section-link>.button {font-size:14px;}
.flow-event-reading {display:grid;justify-items:start;gap:20px;}
.flow-event-reading>p {margin:0;}
.flow-review-result {display:grid;gap:20px;padding-top:8px;}
.flow-review-heading {display:flex;align-items:flex-start;gap:16px;}
.flow-review-heading>.flow-result-icon {margin:0;flex:none;}
.flow-review-copy {display:grid;justify-items:start;gap:10px;}
.flow-review-result>.body-copy,.flow-review-result>.quiet-note {margin:0;}
.flow-review-copy>.section-title {font-size:23px;line-height:1.3;}
.flow-profile-support>.flow-row {border-top:1px solid var(--line);}
.empty-card {display:grid;gap:12px;}
.empty-card>.section-title,.empty-card>.body-copy {margin:0;}
.module-list {margin-top:32px;}
.module-toggle-title {width:100%;}
.module-toggle {display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
@media(max-width:350px){.flow-review-copy>.section-title {font-size:21px;}}

/* CourseProgress / Accordion / step-row: one hierarchy shared across Flow pages. */
.program-card>.progress-line {width:100%;margin:0 0 24px;}
.progress-line>.progress-row {display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;}
.progress-line .progress-track {display:block;width:100%;}
.module-toggle {position:relative;padding-right:48px;}
.module-toggle>.module-toggle-chevron {position:absolute;right:16px;top:24px;width:16px;height:16px;transition:transform 200ms;color:var(--secondary);}
.module-toggle[aria-expanded="true"]>.module-toggle-chevron {transform:rotate(180deg);}
.outline-link {gap:16px;}
.outline-kind {font-size:12px;line-height:1.5;color:var(--secondary);}
.outline-mark,.outline-row.is-current .outline-mark,.outline-row.is-open .outline-mark,.outline-row.is-done .outline-mark {border:0;border-radius:0;background:transparent;flex:none;}
.outline-chevron {width:18px;height:18px;flex:none;color:var(--secondary);}
@media(prefers-reduced-motion:reduce){.module-toggle>.module-toggle-chevron {transition:none;}}
.module-content {padding:0;}
.outline-list {margin:0;gap:0;border-top:1px solid var(--line);}
.outline-copy {flex:1;gap:3px;}
.outline-details,.outline-time {font-size:12px;line-height:1.5;}
.outline-mark {font-size:14px;}

/* Working payment/error states reuse the approved compact vertical action pair. */
.purchase-actions,.error-actions {display:grid;grid-auto-rows:1fr;align-items:stretch;justify-items:stretch;width:max-content;max-width:100%;gap:8px;margin:24px auto 0;}
.purchase-actions>.button,.error-actions>.button {width:100%;height:100%;justify-self:stretch;}
.notebook-course-copy {flex:1;}

/* Style B: lighter primary button, near-transparent secondary, blue progress.
   Values come from the Potik design-system tokens (action-primary, action-on-primary)
   and the existing info colour. Dark theme keeps its own action colours. */
:root { --flow-action:#594235; --flow-on-action:#fffdf9; --progress-color:var(--flow-info); }
.button-secondary,.course-notebook-entry { border-color:var(--flow-border); }
