/* Bright paper design system. Loaded only on public, account and dashboard surfaces. */
:root {
  --surface: #FBF5EA;
  --surface-bright: #FBF5EA;
  --surface-container-lowest: #FFFAF2;
  --surface-container-low: #F4EBD9;
  --surface-container: #EFE5D3;
  --surface-container-high: #EADFCB;
  --surface-container-highest: #E1D4BC;
  --on-surface: #1C1815;
  --on-surface-variant: #6E6559;
  --primary: #C13A63;
  --primary-container: #B61D55;
  --on-primary: #fff;
  --secondary-container: #FCE5EE;
  --on-secondary-container: #B61D55;
  --accent-highlight: #FCE5EE;
  --outline: #A6998A;
  --outline-variant: #DED2BD;
  --error: #E8623C;
  --error-container: #FCE5DC;
  --method-pink: #FCE5EE;
  --method-pink-strong: #C13A63;
  --method-mint: #E0F3E9;
  --method-mint-strong: #34A06D;
  --method-blue: #FFF2CD;
  --method-blue-strong: #896000;
  --method-peach: #FCE5DC;
  --paper-writing: #C13A63;
  --shadow-soft: none;
}
body.marketing-page, body.dse-page { background: var(--surface); color: var(--on-surface); }
.method-hero h1, .dse-dashboard-greeting h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; font-variant-numeric: lining-nums; }
.btn-primary { background: #C13A63; border-color: #C13A63; color: #fff; box-shadow: none; }
.btn-primary:hover { background: #B61D55; border-color: #B61D55; }
.btn-ghost { color: #B61D55; }
.btn { border-radius: 999px; }
.topnav { background: var(--surface); border-color: var(--outline-variant); }
.beta-strip { background: #FCE5EE; color: #B61D55; }
.beta-strip span:not(.beta-dot) { color: #6E6559; }
.beta-strip { background: #fff; }
.beta-strip a { color: #B61D55; text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.beta-strip a:focus-visible { outline: 2px solid #B61D55; outline-offset: 3px; }
.beta-dot { background: #C13A63; box-shadow: none; }
.method-map-card { background: #FFFAF2; border-color: var(--outline-variant); box-shadow: none; }
.method-map-edges { stroke: #DED2BD; }
.method-node-secure > circle { fill: #E0F3E9; stroke: #34A06D; }
.method-node-learning > circle { fill: #FCE5EE; stroke: #C13A63; }
.method-node-locked > circle { fill: #F4EBD9; stroke: #C9C0AE; }
.method-node-label { fill: #1C1815; }
.dse-activity-card, .dse-stat-card, .dse-personal-graph-stage, .dse-knowledge-category {
  background: transparent; border-color: transparent; border-top-color: var(--outline-variant); border-radius: 0; box-shadow: none;
}
.dse-stat-card { border-top-width: 4px; }
.dse-stat-card:nth-child(1) { border-top-color: #C13A63; }
.dse-stat-card:nth-child(2) { border-top-color: #34A06D; }
.dse-stat-card:nth-child(3) { border-top-color: #F5C445; }
.dse-stat-card:nth-child(4) { border-top-color: #DED2BD; }
.dse-stat-value, .dse-activity-totals strong { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; font-variant-numeric: lining-nums; }
.dse-stat-value span, .dse-stat-value em, .dse-activity-totals strong span { font-family: Geist, sans-serif; }
.dse-activity-chart { --chart-accent: #C13A63; }
.is-zero, .dse-stat-empty { color: #A6998A; }
.dse-knowledge-category > header > span { background: #FFF2CD; color: #896000; }
.dse-category-legend .up::before { background: #34A06D; }
.dse-category-legend .same::before { background: #C13A63; }
.dse-category-legend .down::before { background: #E8623C; }
.weekly-goal { perspective: 1000px; }
.goal-turn { display: grid; transform-style: preserve-3d; transition: transform .38s ease; }
.weekly-goal.is-editing .goal-turn { transform: rotateY(180deg); }
.goal-front, .goal-back { grid-area: 1 / 1; display: grid; align-content: start; gap: 12px; min-width: 0; backface-visibility: hidden; background: #FBF5EA; }
.goal-back { transform: rotateY(180deg); }
.goal-progress { display: flex; gap: 3px; }
.goal-progress i { height: 22px; flex: 1; border-radius: 3px; background: linear-gradient(to right, #C13A63 var(--fill, 0%), #EADFCB var(--fill, 0%)); }
.goal-back label, .goal-back small { color: #6E6559; font: 12px/1.5 Geist, sans-serif; }
.goal-back input { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px; border: 1px solid #C9C0AE; border-radius: 8px; background: #FFFAF2; color: #1C1815; font: 28px Georgia, serif; }
.goal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 4px; }
.goal-cancel { background: none; border: 0; padding: 8px 0; color: #B61D55; font: 600 12px Geist, sans-serif; cursor: pointer; }
.goal-edit { justify-self: end; margin-bottom: 4px; }
.goal-percent { font-weight: inherit; }
.goal-error { color: #A33E22; font-size: 13px; }
.goal-error:empty { display: none; }
.learner-access { max-width: 560px; margin: 48px auto; padding: 36px; }
.learner-access form { display: grid; gap: 12px; margin-top: 24px; }
.learner-access input:not([type="hidden"]) { box-sizing: border-box; width: 100%; min-width: 0; padding: 14px; border: 1px solid #C9C0AE; border-radius: 8px; font: inherit; }
.learner-waitlist { margin-top: 28px; padding-top: 24px; border-top: 1px solid #DED2BD; }
.learner-waitlist summary { cursor: pointer; line-height: 1.5; }
.learner-access-success { margin-top: 28px; }
.learner-results-link { display: inline-block; margin-top: 28px; font-size: 14px; }
@media (max-width: 600px) { .learner-access { margin: 24px auto; padding: 24px; } }
.goal-back input:focus-visible, .goal-cancel:focus-visible { outline: 2px solid #B61D55; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .goal-turn { transition: none; } }

/* Same skin across public, access and account screens; retain existing geometry. */
body.paper-ui { background-color: #FBF5EA; color: #1C1815; }
body.paper-ui h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.auth-card, .learner-access { background: transparent; border-color: transparent; border-top-color: #DED2BD; border-radius: 0; box-shadow: none; }
.auth-role-card { background: #FFFAF2; border-color: #DED2BD; color: #B61D55; border-radius: 16px; }
.auth-role-card:hover { background: #FCE5EE; border-color: #C13A63; }
.auth-form input, .auth-form textarea, .learner-access input:not([type="hidden"]) { background: #FFFAF2; border-color: #C9C0AE; color: #1C1815; }
.auth-form input:focus, .auth-form textarea:focus, .learner-access input:focus-visible { outline-color: #C13A63; border-color: #C13A63; }
.auth-back, .auth-footnote a, .learner-results-link, .learner-waitlist summary { color: #B61D55; }
.auth-form .btn-primary, .auth-card .btn-primary { background: #C13A63; border-color: #C13A63; color: #fff; }
body.paper-ui .btn.btn-primary:hover { background: #B61D55; border-color: #B61D55; color: #fff; }
.auth-card .btn-google { background: #FFFAF2; border-color: #DED2BD; color: #B61D55; }
.pcard { background: transparent; border-color: transparent; border-top-color: #DED2BD; border-radius: 0; box-shadow: none; }
.profile-rail { background: #F4EBD9; border-color: #DED2BD; box-shadow: none; }
.form-grid input, .form-grid select { background: #FFFAF2; border-color: #C9C0AE; }
.learner-access-success, .alert-success { color: #216D49; background: #E0F3E9; }
.learner-access-error, .alert-error { color: #A33E22; background: #FCE5DC; }
.progress-dashboard, .tutor-stack-card, .tutor-benefit-grid article, .tutor-access-card, .revenue-grid article, .seo-comparison-grid article { background: #FFFAF2; box-shadow: none; border-color: #DED2BD; }
.tutor-hero h1, .method-page-hero h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
body.paper-ui > .container { background: transparent; border-color: transparent; border-top-color: #DED2BD; border-radius: 0; }

/* Keep the original dark contrast section, independent of action tokens. */
.method-pace-section { background: #1C1815; color: #fff; }

/* Raised buttons: solid lower edge, lighter hover, physical pressed state. */
body.paper-ui .btn,
body.paper-ui .auth-role-card {
  --button-face: #F7EEDD;
  --button-hover: #FFFAF2;
  --button-edge: #C5B59A;
  --button-rule: #DACDB7;
  --button-ink: #6E5545;
  background: var(--button-face);
  color: var(--button-ink);
  border: 2px solid var(--button-rule);
  border-radius: 13px;
  box-shadow: 0 4px 0 var(--button-edge);
  font-weight: 700;
  transform: translateY(0);
  transition: background-color .12s ease, transform .08s ease, box-shadow .08s ease;
}
body.paper-ui .btn.btn-primary:not(.btn-google) {
  --button-face: #C13A63;
  --button-hover: #ED518C;
  --button-edge: #A82054;
  --button-rule: #C13A63;
  --button-ink: #fff;
}
body.paper-ui .btn.btn-danger {
  --button-face: #FCE5DC;
  --button-hover: #FFF0EA;
  --button-edge: #C28570;
  --button-rule: #E9B9A8;
  --button-ink: #A33E22;
}
body.paper-ui .btn:hover:not(:disabled),
body.paper-ui .auth-role-card:hover {
  background: var(--button-hover);
  border-color: var(--button-rule);
  color: var(--button-ink);
  box-shadow: 0 4px 0 var(--button-edge);
  transform: translateY(0);
  text-decoration: none;
}
body.paper-ui .btn:active:not(:disabled),
body.paper-ui .auth-role-card:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 var(--button-edge);
}
body.paper-ui .btn:focus-visible,
body.paper-ui .auth-role-card:focus-visible {
  outline: 2px solid #B61D55;
  outline-offset: 6px;
}
body.paper-ui .btn:disabled,
body.paper-ui .btn[aria-disabled="true"] {
  background: #EADFCB;
  border-color: #DED2BD;
  color: #827666;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}

/* Marketing buttons stay flat; account and dashboard controls remain raised. */
body.dse-page.paper-ui .dse-academy-actions .btn.btn-primary,
body.dse-page.paper-ui .dse-academy-actions .btn.btn-primary:hover {
  box-shadow: 0 4px 0 var(--button-edge);
  transform: none;
}
body.dse-page.paper-ui .dse-academy-actions .btn.btn-primary:active {
  box-shadow: none;
  transform: translateY(4px);
}
body.marketing-page.paper-ui .btn,
body.marketing-page.paper-ui .btn:hover:not(:disabled),
body.marketing-page.paper-ui .btn:active:not(:disabled) {
  box-shadow: none;
  transform: none;
}

/* Mobile: a pinned stack with short, scroll-triggered dealing transitions. */
@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .method-motion-ready .method-flow-scroller { height: auto; }
  .method-motion-ready .method-flow-sticky { position: static; display: block; min-height: calc(440px + 210svh); }
  .method-motion-ready .method-flow-sticky > .method-section-heading { margin-bottom: 34px; }
  .method-motion-ready .method-flow { position: sticky; top: 88px; display: grid; grid-template-columns: 1fr; padding: 0 5px; }
  .method-motion-ready .method-flow-stage[data-flow-step] {
    grid-area: 1 / 1;
    position: relative;
    z-index: calc(1 + var(--deck-index));
    min-height: 350px;
    margin: 0;
    background: #FFFAF2;
    opacity: 0;
    transform: translateY(calc(var(--deck-index) * 9px + 24px)) rotate(var(--deck-angle));
    transition: opacity .16s ease-out, transform .24s ease-out;
    pointer-events: none;
    box-shadow: 0 -5px 18px rgba(28,24,21,.07);
  }
  .method-motion-ready .method-flow-stage[data-dealt="true"] { opacity: 1; transform: translateY(calc(var(--deck-index) * 9px)) rotate(var(--deck-angle)); pointer-events: auto; }
  .method-flow-stage[data-flow-step="0"] { --deck-index: 0; --deck-angle: -.8deg; }
  .method-flow-stage[data-flow-step="1"] { --deck-index: 1; --deck-angle: 1.1deg; }
  .method-flow-stage[data-flow-step="2"] { --deck-index: 2; --deck-angle: -1.3deg; }
  .method-flow-stage[data-flow-step="3"] { --deck-index: 3; --deck-angle: .5deg; }
  .method-motion-ready .method-flow-arrow { display: none; }
}
