/* V158 · Design System & Experience Consistency
   Purpose: unify typography, spacing, components, states and mobile density
   without changing product architecture or behavior. */

:root{
  --ds-text:#171313;
  --ds-muted:#7d7370;
  --ds-accent:#cf8092;
  --ds-accent-soft:#f5dfe3;
  --ds-line:#dbcfc9;
  --ds-paper:#fffaf8;
  --ds-radius:14px;
  --ds-radius-sm:10px;
  --ds-control-h:44px;
  --ds-touch:44px;
  --ds-content:720px;
  --ds-section-y:64px;
  --ds-gap-1:8px;
  --ds-gap-2:12px;
  --ds-gap-3:16px;
  --ds-gap-4:24px;
  --ds-gap-5:32px;
  --ds-gap-6:48px;
}

/* Shared interaction grammar */
[data-surface] button,
[data-surface] input,
[data-surface] textarea,
[data-surface] select{
  font:inherit;
}
[data-surface] button,
[data-surface] a,
[data-surface] input,
[data-surface] textarea,
[data-surface] select{
  -webkit-tap-highlight-color:transparent;
}
[data-surface] button:focus-visible,
[data-surface] a:focus-visible,
[data-surface] input:focus-visible,
[data-surface] textarea:focus-visible,
[data-surface] select:focus-visible{
  outline:2px solid rgba(207,128,146,.34);
  outline-offset:3px;
}
[data-surface] input,
[data-surface] textarea,
[data-surface] select{
  border-color:var(--line,var(--ds-line));
  border-radius:var(--ds-radius-sm);
}
[data-surface] input:focus,
[data-surface] textarea:focus,
[data-surface] select:focus{
  border-color:rgba(207,128,146,.78);
  box-shadow:0 0 0 3px rgba(245,223,227,.55);
}

/* PUBLIC · Editorial, calm, readable */
[data-surface="public"]{
  --ds-body-max:680px;
}
[data-surface="public"] p{
  text-wrap:pretty;
}
[data-surface="public"] .hero-lead,
[data-surface="public"] .teach-copy p,
[data-surface="public"] .section-lead,
[data-surface="public"] .page-lead,
[data-surface="public"] .practice-intro,
[data-surface="public"] .about-page>p{
  max-width:var(--ds-body-max);
  line-height:1.78;
}
[data-surface="public"] .hero-action,
[data-surface="public"] .button,
[data-surface="public"] .submit{
  min-height:var(--ds-control-h);
  align-items:center;
  justify-content:center;
  border-radius:var(--ds-radius-sm);
}
[data-surface="public"] .hero-action,
[data-surface="public"] .button{
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease;
}
[data-surface="public"] .hero-action:hover,
[data-surface="public"] .button:hover{
  background:rgba(245,223,227,.38);
}
[data-surface="public"] .label,
[data-surface="public"] .section-kicker,
[data-surface="public"] .gp-kicker{
  line-height:1.45;
}
[data-surface="public"] .voice-card,
[data-surface="public"] .practice-card,
[data-surface="public"] .contact-card{
  box-shadow:none;
}

/* MEMBER · Calm product, low decision friction */
[data-surface="member"] .member-page{
  color:var(--text,var(--ink,var(--ds-text)));
}
[data-surface="member"] .member-page p,
[data-surface="member"] .member-login p{
  text-wrap:pretty;
}
[data-surface="member"] .member-login,
[data-surface="member"] .practice-card,
[data-surface="member"] .quick-reflection-card,
[data-surface="member"] .home-practice-card,
[data-surface="member"] .home-practice-cards,
[data-surface="member"] .home-practice-empty{
  box-shadow:none!important;
}
[data-surface="member"] .member-login{
  border-radius:0;
}
[data-surface="member"] .member-field{
  display:grid;
  gap:7px;
  margin-top:16px;
}
[data-surface="member"] .member-field>label,
[data-surface="member"] .member-field-label{
  font-size:13px;
  line-height:1.45;
  font-weight:600;
}
[data-surface="member"] .member-login input,
[data-surface="member"] .member-login select,
[data-surface="member"] .member-login-main,
[data-surface="member"] .member-pin-toggle,
[data-surface="member"] .reflection-save,
[data-surface="member"] .reflection-return{
  min-height:var(--ds-touch);
}
[data-surface="member"] .member-login-main,
[data-surface="member"] .reflection-save{
  border-radius:var(--ds-radius-sm)!important;
}
[data-surface="member"] .member-pin-wrap{
  border-radius:var(--ds-radius-sm)!important;
  overflow:hidden;
}
[data-surface="member"] .member-pin-toggle{
  min-width:68px;
}
[data-surface="member"] .member-login-help a,
[data-surface="member"] .reflection-discovery-link{
  line-height:1.55;
}
[data-surface="member"] .member-login-state,
[data-surface="member"] .reflection-status,
[data-surface="member"] .homework-sync-status{
  line-height:1.6;
}
[data-surface="member"] .reflection-chips{
  align-items:stretch;
}
[data-surface="member"] .reflection-chip{
  min-height:42px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  transition:border-color .14s ease,background-color .14s ease,color .14s ease;
}
[data-surface="member"] .reflection-chip.selected{
  box-shadow:inset 0 0 0 1px rgba(201,139,152,.16);
}
[data-surface="member"] .reflection-field textarea{
  border-radius:var(--ds-radius-sm)!important;
}
[data-surface="member"] .reflection-completion-actions{
  margin-top:2px;
}
[data-surface="member"] .reflection-return{
  border-radius:var(--ds-radius-sm)!important;
}
[data-surface="member"] .home-practice-tried{
  min-height:40px;
}
[data-surface="member"] .member-actions button,
[data-surface="member"] .course-list-button{
  min-height:36px;
}

/* COACH · Working tool: compact, legible, consistent */
[data-surface="coach"]{
  --ds-coach-control:40px;
}
[data-surface="coach"] .panel,
[data-surface="coach"] .member-workspace,
[data-surface="coach"] .session-editor,
[data-surface="coach"] .library-column,
[data-surface="coach"] .group-rd-editor,
[data-surface="coach"] .group-rd-help{
  box-shadow:none!important;
}
[data-surface="coach"] .btn,
[data-surface="coach"] button:not(.unified-nav button){
  min-height:var(--ds-coach-control);
  border-radius:9px;
}
[data-surface="coach"] .field input,
[data-surface="coach"] .field textarea,
[data-surface="coach"] .field select,
[data-surface="coach"] input[type="text"],
[data-surface="coach"] input[type="password"],
[data-surface="coach"] select{
  min-height:var(--ds-coach-control);
  border-radius:9px;
}
[data-surface="coach"] .panel h2,
[data-surface="coach"] .session-editor>h2,
[data-surface="coach"] .member-title{
  text-wrap:balance;
}
[data-surface="coach"] .panel-note,
[data-surface="coach"] .sub,
[data-surface="coach"] .coach-data-intro{
  line-height:1.55;
}
[data-surface="coach"] .status{
  line-height:1.55;
}
[data-surface="coach"] .unified-nav button{
  min-height:38px;
  border-radius:0;
}

/* Mobile consistency pass */
@media(max-width:760px){
  :root{
    --ds-section-y:42px;
    --ds-touch:46px;
  }

  [data-surface="public"] .wrap,
  [data-surface="public"] .hero-copy-grid,
  [data-surface="public"] .teach{
    width:min(100% - 36px,var(--max,1120px));
  }
  [data-surface="public"] .hero-action,
  [data-surface="public"] .button,
  [data-surface="public"] .submit{
    min-height:44px;
  }
  [data-surface="public"] .desktop-nav a,
  [data-surface="public"] .mobile-menu a,
  [data-surface="public"] .menu{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  [data-surface="member"] .member-page{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  [data-surface="member"] .member-login{
    margin-top:14px!important;
    padding:20px 18px 21px!important;
  }
  [data-surface="member"] .member-login h1{
    line-height:1.04;
  }
  [data-surface="member"] .member-login-main,
  [data-surface="member"] .member-pin-toggle,
  [data-surface="member"] .reflection-save,
  [data-surface="member"] .reflection-return{
    min-height:46px;
  }
  [data-surface="member"] .reflection-chip{
    min-height:44px!important;
    padding:9px 13px!important;
  }
  [data-surface="member"] .quick-reflection-card,
  [data-surface="member"] .home-practice-card{
    border-radius:12px!important;
  }

  [data-surface="coach"] .btn,
  [data-surface="coach"] button:not(.unified-nav button),
  [data-surface="coach"] .field input,
  [data-surface="coach"] .field select{
    min-height:42px;
  }
  [data-surface="coach"] .unified-nav{
    gap:4px;
  }
  [data-surface="coach"] .unified-nav button{
    min-height:40px;
    padding:8px 8px;
  }
}

@media(prefers-reduced-motion:reduce){
  [data-surface] *,[data-surface] *::before,[data-surface] *::after{
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }
}
