
  :root {
    --bg: #FAF6F1;
    --card-bg: #ffffff;
    --peach: #F1DED0;
    --text: #211C18;
    --text-soft: #6B6259;
    --rust: #B5714F;
    --phase-accent: #B5714F;
    --phase-tint: #F1DED0;
    --dark-btn: #1E1A16;
    --dark-btn-text: #FAF6F1;
    --border: #E8DDD2;
    --done: #7E9B7A;
  }
  body { transition: background 0.4s ease; }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    font-family: Georgia, 'Times New Roman', serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
    min-height: 100vh;
  }
  .sans { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
  button, input, textarea { font-family: inherit; }

  header {
    position: sticky; top: 0; z-index: 10;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 18px 24px;
  }
  .header-inner {
    max-width: 720px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
  }
  .logo { font-size: 1.05rem; font-weight: 700; letter-spacing: 0.5px; }
  .progress-wrap { flex: 1; max-width: 260px; }
  .progress-label {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.7rem; color: var(--text-soft); margin-bottom: 4px; text-align: right;
  }
  .progress-bar { height: 6px; background: var(--border); border-radius: 4px; overflow: hidden; }
  .progress-fill { height: 100%; background: var(--rust); transition: width 0.3s ease; }

  .day-nav {
    max-width: 720px; margin: 0 auto;
    padding: 14px 24px 0;
    display: flex; gap: 6px; overflow-x: auto;
    scrollbar-width: thin;
  }
  .day-dot {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--border);
    background: var(--card-bg);
    display: flex; align-items: center; justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.75rem; color: var(--text-soft);
    cursor: pointer;
    transition: all 0.15s ease;
  }
  .day-dot:hover { border-color: var(--rust); }
  .day-dot.active { background: var(--dark-btn); color: var(--dark-btn-text); border-color: var(--dark-btn); }
  .day-dot.done { background: var(--done); color: white; border-color: var(--done); }
  .day-dot.done.active { background: var(--dark-btn); border-color: var(--dark-btn); }

  main {
    max-width: 680px; margin: 0 auto;
    padding: 40px 24px 100px;
  }

  .phase-banner {
    background: var(--phase-tint);
    transition: background 0.4s ease;
    border-radius: 14px;
    padding: 20px 24px;
    margin-bottom: 28px;
  }
  .phase-banner .kicker {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.7rem; letter-spacing: 2px; color: var(--phase-accent); text-transform: uppercase; font-weight: 600;
    margin-bottom: 6px;
  }
  .phase-banner h2 { font-size: 1.3rem; font-weight: 400; margin-bottom: 4px; }
  .phase-banner p { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 0.85rem; color: var(--text-soft); }

  .day-header { margin-bottom: 30px; }
  .day-header .day-label {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.75rem; letter-spacing: 1.5px; color: var(--phase-accent); text-transform: uppercase; font-weight: 600;
    margin-bottom: 10px;
  }
  .day-header h1 { font-size: clamp(1.6rem, 5vw, 2.1rem); font-weight: 400; }

  .block { margin-bottom: 32px; }
  .block-label {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.7rem; letter-spacing: 1.5px; color: var(--phase-accent); text-transform: uppercase; font-weight: 600;
    margin-bottom: 10px;
  }
  .block p.body-text { font-size: 1.02rem; }

  .quote {
    font-style: italic;
    color: var(--text-soft);
    text-align: center;
    padding: 20px 10px;
    font-size: 1.05rem;
  }

  .q-item { margin-bottom: 20px; }
  .q-item .q-text {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 600; font-size: 0.92rem; margin-bottom: 8px;
  }
  textarea {
    width: 100%;
    border: 1px solid var(--border);
    background: var(--card-bg);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 0.92rem;
    color: var(--text);
    resize: vertical;
    min-height: 64px;
  }
  textarea:focus { outline: none; border-color: var(--phase-accent); }

  .action-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
  }
  .action-check {
    display: flex; align-items: flex-start; gap: 12px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.92rem;
    margin-bottom: 16px;
    cursor: pointer;
  }
  .action-check input[type="checkbox"] {
    margin-top: 3px; width: 18px; height: 18px; accent-color: var(--phase-accent); cursor: pointer; flex: 0 0 auto;
  }

  .rating-row { display: flex; gap: 10px; margin-top: 10px; }
  .rating-btn {
    width: 38px; height: 38px; border-radius: 50%;
    border: 1.5px solid var(--border);
    background: var(--card-bg);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.15s ease;
  }
  .rating-btn:hover { border-color: var(--phase-accent); }
  .rating-btn.selected { background: var(--phase-accent); color: white; border-color: var(--phase-accent); }

  .nav-buttons {
    display: flex; justify-content: space-between; margin-top: 44px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  }
  .nav-btn {
    background: var(--dark-btn); color: var(--dark-btn-text);
    border: none; padding: 13px 26px; border-radius: 30px;
    font-size: 0.9rem; font-weight: 600; cursor: pointer;
    transition: opacity 0.2s ease;
  }
  .nav-btn:hover { opacity: 0.85; }
  .nav-btn:disabled { opacity: 0.3; cursor: not-allowed; }
  .nav-btn.ghost { background: transparent; color: var(--text); border: 1.5px solid var(--border); }

  .save-note {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.72rem; color: var(--text-soft); text-align: center; margin-top: 14px;
    opacity: 0; transition: opacity 0.3s ease;
  }
  .save-note.show { opacity: 1; }

  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
  main.fade-in { animation: fadeInUp 0.35s ease; }

  .milestone-banner {
    background: var(--dark-btn);
    color: var(--dark-btn-text);
    border-radius: 14px;
    padding: 18px 24px;
    margin-bottom: 20px;
    display: flex; align-items: center; gap: 14px;
  }
  .milestone-icon { font-size: 1.6rem; }
  .milestone-text { font-size: 0.95rem; font-weight: 600; letter-spacing: 0.3px; }

  .phase-icon { font-size: 1.5rem; margin-bottom: 8px; }

  @keyframes popIn {
    0% { opacity: 0; transform: translate(-50%, 12px) scale(0.9); }
    15% { opacity: 1; transform: translate(-50%, 0) scale(1.03); }
    25% { transform: translate(-50%, 0) scale(1); }
    85% { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, -6px) scale(0.98); }
  }
  .celebrate-toast {
    position: fixed;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    background: var(--phase-accent);
    color: white;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.88rem;
    padding: 13px 22px;
    border-radius: 30px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
    opacity: 0;
    pointer-events: none;
    max-width: 88vw;
    text-align: center;
    z-index: 20;
  }
  .celebrate-toast.show { animation: popIn 2.6s ease forwards; }

  @media (max-width: 500px) {
    main { padding: 28px 16px 90px; }
    header { padding: 14px 16px; }
  }

  /* RECLAIM YOU — App Dashboard */
  .app-view { display:none; }
  .app-view.active { display:block; }
  #homeView { max-width:680px; margin:0 auto; padding:34px 24px 110px; }
  .home-eyebrow { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; color:var(--rust); font-weight:700; }
  .home-title { font-size:clamp(2.2rem,8vw,3.5rem); font-weight:400; line-height:1.02; margin:12px 0 10px; }
  .home-sub { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text-soft); font-size:.95rem; max-width:520px; }
  .journey-card { margin-top:30px; background:var(--dark-btn); color:var(--dark-btn-text); border-radius:24px; padding:26px; box-shadow:0 18px 50px rgba(30,26,22,.10); }
  .journey-top { display:flex; align-items:center; gap:22px; }
  .progress-ring { --p:0; width:92px; height:92px; border-radius:50%; flex:0 0 auto; background:conic-gradient(#D7B98E calc(var(--p)*1%), rgba(255,255,255,.14) 0); display:grid; place-items:center; }
  .progress-ring:after { content:""; width:72px; height:72px; border-radius:50%; background:var(--dark-btn); position:absolute; }
  .progress-ring { position:relative; }
  .progress-ring strong { position:relative; z-index:1; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:1.05rem; }
  .journey-copy .mini { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; text-transform:uppercase; letter-spacing:1.5px; font-size:.65rem; opacity:.7; }
  .journey-copy h2 { font-size:1.45rem; font-weight:400; margin:5px 0; }
  .journey-copy p { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.82rem; opacity:.72; }
  .continue-btn { width:100%; margin-top:22px; border:0; border-radius:30px; padding:14px 18px; background:#FAF6F1; color:#211C18; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-weight:700; cursor:pointer; }
  .home-section { margin-top:34px; }
  .section-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:14px; }
  .section-head h3 { font-size:1.25rem; font-weight:400; }
  .section-head span { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.72rem; color:var(--text-soft); }
  .phase-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .phase-card { border:1px solid var(--border); border-radius:18px; padding:18px; background:var(--card-bg); cursor:pointer; min-height:122px; transition:transform .15s ease,border-color .15s ease; }
  .phase-card:hover { transform:translateY(-2px); border-color:#CDBAA8; }
  .phase-no { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.65rem; letter-spacing:1.4px; color:var(--text-soft); }
  .phase-card h4 { font-size:1.05rem; font-weight:400; margin:12px 0 4px; }
  .phase-card p { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.75rem; color:var(--text-soft); }
  .tools-preview { display:grid; gap:10px; }
  .tool-row { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border:1px solid var(--border); background:var(--card-bg); border-radius:16px; }
  .tool-row strong { font-weight:400; }
  .tool-button { width:100%; text-align:left; color:var(--text); font-family:inherit; cursor:pointer; }
  .tool-button:hover { border-color:#CDBAA8; transform:translateY(-1px); }
  .tool-button:active { transform:translateY(0); }
  .tool-row span { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text-soft); font-size:.75rem; }
  .bottom-nav { position:fixed; z-index:30; bottom:0; left:0; right:0; background:rgba(250,246,241,.96); backdrop-filter:blur(14px); border-top:1px solid var(--border); }
  .bottom-nav-inner { max-width:680px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); padding:8px 10px max(8px,env(safe-area-inset-bottom)); }
  .tab-btn { border:0; background:transparent; padding:8px 4px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text-soft); font-size:.69rem; cursor:pointer; }
  .tab-btn .tab-mark { width:5px; height:5px; border-radius:50%; background:transparent; margin:0 auto 5px; }
  .tab-btn.active { color:var(--text); font-weight:700; }
  .tab-btn.active .tab-mark { background:var(--rust); }
  .simple-view { max-width:680px; margin:0 auto; padding:40px 24px 110px; }
  .simple-view h1 { font-size:2rem; font-weight:400; margin-bottom:10px; }
  .simple-view > p { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text-soft); margin-bottom:24px; }
  #journeyView header { position:sticky; }
  @media(max-width:500px){
    #homeView,.simple-view{padding:28px 16px 100px}
    .journey-card{padding:22px;border-radius:20px}
    .journey-top{gap:16px}
    .progress-ring{width:78px;height:78px}
    .progress-ring:after{width:60px;height:60px}
    .phase-grid{grid-template-columns:1fr 1fr}
  }


  /* Interactive RECLAIM Cards */
  .cards-app { margin-top:18px; }
  .cards-intro { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text-soft); font-size:.9rem; margin-bottom:18px; }
  .card-counter { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.7rem; letter-spacing:1.5px; color:var(--text-soft); text-align:center; margin-bottom:10px; }
  .reclaim-card-wrap { perspective:1200px; min-height:360px; isolation:isolate; }
  .reclaim-card { position:relative; width:100%; height:360px; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; transition:transform .75s cubic-bezier(.2,.75,.2,1); cursor:pointer; will-change:transform; }
  .reclaim-card.flipped { transform:rotateY(180deg); -webkit-transform:rotateY(180deg); }
  .card-face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; border-radius:26px; padding:32px 28px; border:1px solid var(--border); box-shadow:0 18px 45px rgba(55,42,33,.08); display:flex; flex-direction:column; justify-content:space-between; }
  .card-front { background:linear-gradient(145deg,#FFFDFC,#F0E3D7); transform:rotateY(0deg); }
  .card-back { background:#211C18; color:#FAF6F1; transform:rotateY(180deg); -webkit-transform:rotateY(180deg); }
  .card-small { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; text-transform:uppercase; letter-spacing:2px; font-size:.65rem; opacity:.68; }
  .card-front h2 { font-size:clamp(1.8rem,7vw,2.7rem); line-height:1.08; font-weight:400; max-width:500px; }
  .card-back h3 { font-size:1.55rem; line-height:1.18; font-weight:400; margin:18px 0 14px; }
  .card-back p { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.92rem; line-height:1.65; opacity:.82; }
  .flip-hint { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.75rem; opacity:.65; }
  .cards-controls { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:9px; margin-top:14px; }
  .card-control { border:1px solid var(--border); background:var(--card-bg); border-radius:24px; padding:12px 10px; cursor:pointer; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.78rem; color:var(--text); }
  .card-control.primary { background:var(--dark-btn); color:var(--dark-btn-text); border-color:var(--dark-btn); font-weight:700; }
  .draw-card { margin-top:12px; width:100%; border:0; border-radius:26px; padding:14px 16px; background:#B5714F; color:white; cursor:pointer; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-weight:700; }
  .saved-card-note { min-height:22px; text-align:center; margin-top:10px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:.72rem; color:var(--text-soft); }


/* Stop Checking Challenge */
.challenge-shell{display:none;margin-top:18px}
.challenge-shell.active{display:block}
.challenge-top{background:#211C18;color:#FAF6F1;border-radius:24px;padding:24px;margin-bottom:16px}
.challenge-top .tiny{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.65rem;letter-spacing:1.7px;text-transform:uppercase;opacity:.65}
.challenge-top h2{font-size:1.8rem;font-weight:400;margin:8px 0}
.challenge-progress{height:6px;background:rgba(255,255,255,.13);border-radius:20px;overflow:hidden;margin-top:18px}
.challenge-progress>div{height:100%;background:#D7B98E;width:0%;transition:width .3s}
.challenge-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 18px}
.challenge-day-dot{border:1px solid var(--border);background:var(--card-bg);border-radius:20px;padding:9px 2px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.68rem;cursor:pointer;color:var(--text)}
.challenge-day-dot.active{background:#B5714F;color:white;border-color:#B5714F}
.challenge-day-dot.done{border-color:#B5714F}
.challenge-card{background:var(--card-bg);border:1px solid var(--border);border-radius:22px;padding:24px}
.challenge-kicker{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.68rem;letter-spacing:1.5px;color:var(--rust);font-weight:700}
.challenge-card h2{font-size:1.75rem;font-weight:400;margin:8px 0 4px}
.challenge-sub{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--text-soft);font-size:.88rem;margin-bottom:22px}
.challenge-block{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}
.challenge-label{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.66rem;letter-spacing:1.4px;font-weight:700;color:var(--text-soft);margin-bottom:8px}
.challenge-block p{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.9rem;line-height:1.6}
.challenge-textarea{width:100%;min-height:100px;border:1px solid var(--border);border-radius:14px;padding:13px;background:#FFFCF8;color:var(--text);font:inherit;resize:vertical}
.urge-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.urge-btn{border:1px solid var(--border);background:#FFFCF8;border-radius:50%;aspect-ratio:1;cursor:pointer;color:var(--text)}
.urge-btn.selected{background:#211C18;color:#FAF6F1;border-color:#211C18}
.challenge-complete{width:100%;border:0;border-radius:25px;padding:14px;margin-top:20px;background:#B5714F;color:white;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:700;cursor:pointer}
.challenge-complete.done{background:#211C18}
.challenge-quote{text-align:center;font-size:1.15rem;font-style:italic;padding:22px 8px 4px}
.challenge-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.open-tool{cursor:pointer}
.reset-card{background:#F0E3D7;border-radius:18px;padding:18px;margin-top:14px}
.reset-card strong{font-weight:400;font-size:1.1rem}
.reset-steps{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.82rem;line-height:1.7;margin-top:10px;color:var(--text-soft)}


/* 90-Day Reclaim Plan */
.plan-shell{display:none;margin-top:18px}.plan-shell.active{display:block}
.plan-hero{background:linear-gradient(145deg,#E8D9CC,#F8F2EB);border:1px solid var(--border);border-radius:26px;padding:28px 24px;margin-bottom:16px}
.plan-hero .tiny{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.65rem;letter-spacing:1.7px;text-transform:uppercase;color:var(--text-soft)}
.plan-hero h2{font-size:2rem;font-weight:400;margin:8px 0}.plan-hero p{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.88rem;line-height:1.55;color:var(--text-soft)}
.plan-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.plan-tabs::-webkit-scrollbar{display:none}
.plan-tab{white-space:nowrap;border:1px solid var(--border);background:var(--card-bg);border-radius:22px;padding:10px 14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.72rem;color:var(--text);cursor:pointer}.plan-tab.active{background:#211C18;color:#FAF6F1;border-color:#211C18}
.plan-panel{display:none}.plan-panel.active{display:block}
.plan-card{background:var(--card-bg);border:1px solid var(--border);border-radius:22px;padding:22px;margin-bottom:12px}
.plan-card h3{font-size:1.45rem;font-weight:400;margin:3px 0 8px}.plan-card .desc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.83rem;line-height:1.55;color:var(--text-soft);margin-bottom:16px}
.plan-label{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.64rem;letter-spacing:1.25px;font-weight:700;color:var(--text-soft);margin:14px 0 7px}
.plan-input,.plan-area{width:100%;border:1px solid var(--border);border-radius:13px;padding:12px;background:#FFFCF8;color:var(--text);font:inherit}.plan-area{min-height:86px;resize:vertical}
.life-row{margin:13px 0}.life-row-title{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.8rem;margin-bottom:7px}.life-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.life-score{border:1px solid var(--border);background:#FFFCF8;border-radius:18px;padding:8px;cursor:pointer;color:var(--text)}.life-score.selected{background:#B5714F;color:#fff;border-color:#B5714F}
.priority-card{background:#F5ECE3;border-radius:17px;padding:16px;margin:10px 0}
.month-grid{display:grid;gap:10px}.month-card{border:1px solid var(--border);border-radius:20px;padding:19px;background:#FFFCF8}.month-card .num{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.64rem;letter-spacing:1.4px;color:var(--rust);font-weight:700}.month-card h3{margin:5px 0}
.week-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:15px}.week-btn{border:1px solid var(--border);background:#FFFCF8;border-radius:18px;padding:9px 3px;cursor:pointer;color:var(--text)}.week-btn.active{background:#211C18;color:#fff}.week-btn.done{border-color:#B5714F}
.small-moves{display:grid;gap:8px}
.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday{border:1px solid var(--border);background:#FFFCF8;border-radius:15px;padding:9px 2px;font-size:.65rem;cursor:pointer;color:var(--text)}.weekday.selected{background:#B5714F;color:#fff}
.milestone{background:#211C18;color:#FAF6F1;border-radius:22px;padding:22px;margin:12px 0}.milestone h3{font-size:1.45rem;font-weight:400;margin:5px 0 14px}.milestone .plan-area{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:white}
.plan-save-note{text-align:center;min-height:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.7rem;color:var(--text-soft);margin-top:10px}


/* MY JOURNEY */
.me-dashboard{padding:6px 0 90px}
.me-hero{background:#211C18;color:#FAF6F1;border-radius:28px;padding:27px 23px;margin-bottom:14px;position:relative;overflow:hidden}
.me-hero:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-70px;top:-80px}
.me-eyebrow{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.64rem;letter-spacing:1.7px;text-transform:uppercase;opacity:.65}
.me-hero h1{font-size:2rem;font-weight:400;margin:8px 0 5px}.me-hero p{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.84rem;line-height:1.55;opacity:.72}
.me-progress-wrap{display:flex;align-items:center;gap:18px;margin-top:22px}
.me-ring{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#D7B98E var(--p,0%),rgba(255,255,255,.12) 0)}
.me-ring:before{content:"";width:68px;height:68px;border-radius:50%;background:#211C18;position:absolute}.me-ring span{position:relative;z-index:1;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.85rem}
.me-progress-copy strong{display:block;font-weight:400;font-size:1.15rem}.me-progress-copy small{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;opacity:.62}
.me-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.me-stat{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:17px}.me-stat .n{font-size:1.55rem}.me-stat .l{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.68rem;color:var(--text-soft);margin-top:3px}
.me-section{background:var(--card-bg);border:1px solid var(--border);border-radius:22px;padding:20px;margin-bottom:12px}
.me-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.me-section-head h3{font-size:1.22rem;font-weight:400}.me-section-head span{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.65rem;color:var(--text-soft)}
.phase-track{display:grid;gap:9px}.phase-line{display:grid;grid-template-columns:78px 1fr 35px;gap:8px;align-items:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.7rem}.phase-bar{height:6px;background:#EEE4DB;border-radius:10px;overflow:hidden}.phase-bar i{display:block;height:100%;background:#B5714F;border-radius:10px}
.me-card-today{background:#F2E7DC;border-radius:18px;padding:18px}.me-card-today .small{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.62rem;letter-spacing:1.4px;color:var(--rust);font-weight:700}.me-card-today h3{font-size:1.35rem;font-weight:400;margin:7px 0}
.me-tool{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--border);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.78rem}.me-tool:first-of-type{border-top:0}.me-tool strong{font-weight:600}.me-pill{font-size:.65rem;padding:5px 8px;border-radius:20px;background:#F2E7DC;color:var(--text-soft)}
.me-empty{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:.8rem;color:var(--text-soft);line-height:1.5}
.me-note{width:100%;min-height:92px;border:1px solid var(--border);border-radius:14px;background:#FFFCF8;padding:12px;color:var(--text);font:inherit;resize:vertical}


.me-tool-button{width:100%;background:transparent;border-left:0;border-right:0;border-bottom:0;text-align:left;color:inherit;cursor:pointer}
.me-tool-button:active{opacity:.65}
button,.day-dot,.phase-card,.rating-btn,.week-day,.card-shell{touch-action:manipulation}
button:focus-visible,[role="button"]:focus-visible{outline:2px solid #B5714F;outline-offset:3px}
@media(max-width:640px){
  button,.tool-row,.me-tool{min-height:44px}
  .bottom-nav button{min-height:48px}
}



#reclaimAuthGate{position:fixed;inset:0;z-index:99999;background:#f5efe7;display:flex;align-items:center;justify-content:center;padding:24px;font-family:inherit;color:#2f241f}
#reclaimAuthGate .auth-card{width:min(100%,420px);background:#fffaf4;border:1px solid rgba(70,48,38,.14);border-radius:24px;padding:32px 26px;box-shadow:0 20px 60px rgba(45,31,25,.12)}
#reclaimAuthGate .auth-brand{font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;opacity:.72}
#reclaimAuthGate h1{font-size:34px;line-height:1.05;margin:0 0 10px;font-weight:500}
#reclaimAuthGate p{font-size:14px;line-height:1.55;margin:0 0 24px;opacity:.72}
#reclaimAuthGate label{display:block;font-size:12px;margin:14px 0 7px}
#reclaimAuthGate input{box-sizing:border-box;width:100%;border:1px solid rgba(70,48,38,.2);background:white;border-radius:12px;padding:13px 14px;font:inherit;color:inherit;outline:none}
#reclaimAuthGate input:focus{border-color:#8c654f;box-shadow:0 0 0 3px rgba(140,101,79,.10)}
#reclaimAuthGate button{width:100%;margin-top:20px;border:0;border-radius:999px;padding:14px 18px;background:#3b2b24;color:white;font:inherit;cursor:pointer}
#reclaimAuthGate .auth-link{display:block;text-align:center;margin-top:16px;font-size:13px;color:#6f5141;text-decoration:none}
#reclaimAuthGate .auth-note{min-height:18px;margin-top:12px;font-size:12px;text-align:center;color:#8a5f48}


#homeView{background:transparent}#homeView .home-eyebrow{letter-spacing:.22em;color:#9C6D56}#homeView .home-title{font-size:clamp(2.7rem,8vw,4.5rem);line-height:1.06;letter-spacing:-.045em;max-width:550px}#homeView .home-title em{color:#B5714F;font-weight:400}#homeView .home-time{color:#A45C42;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.9rem;margin:18px 0 27px;font-weight:600}
.personal-profile{background:linear-gradient(135deg,#F1DED0,#FAF6F1);border:1px solid #E8DDD2;border-radius:25px;padding:25px;margin-bottom:25px}.profile-head{display:flex;align-items:center;gap:16px}.profile-avatar{width:78px;height:78px;flex:none;display:grid;place-items:center;background:#B5714F;color:#fff;font-size:2rem;border-radius:26px;box-shadow:0 10px 26px #5d342325}.profile-avatar[data-color="sand"]{background:#AD8C67}.profile-avatar[data-color="sage"]{background:#7E9B7A}.profile-avatar[data-color="espresso"]{background:#33271F}.profile-head h2{font-weight:400;font-size:1.8rem;margin:6px 0}.profile-head p{color:#6B6259;font:13px/1.5 -apple-system,BlinkMacSystemFont,sans-serif}.profile-actions button,.profile-save{border:0;border-radius:14px;background:#211C18;color:#fff;padding:13px 19px;cursor:pointer;font:13px -apple-system,BlinkMacSystemFont,sans-serif}.profile-actions{margin-top:22px}.profile-form{margin-top:20px;padding-top:20px;border-top:1px solid #d7c6b9}.profile-form[hidden]{display:none!important}.profile-form label{display:block;font:12px -apple-system,BlinkMacSystemFont,sans-serif;color:#6B6259;margin-bottom:14px}.profile-form input,.profile-form select{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #d9c9bd;border-radius:12px;background:white;color:#211C18;font:14px -apple-system,BlinkMacSystemFont,sans-serif}.profile-form #profileSaveStatus{display:block;margin-top:10px;font:12px -apple-system,BlinkMacSystemFont,sans-serif;color:#6B6259}

/* Release accessibility and session states. */
body.locked > :not(#reclaimAuthGate):not(script){display:none!important}
body:not(.locked) #reclaimAuthGate{display:none}
#accountBar{max-width:720px;margin:12px auto;padding:0 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:12px/1.6 system-ui;color:var(--text-soft)}
#accountBar button{background:transparent;border:1px solid var(--border);border-radius:16px;padding:8px 12px;color:var(--text);cursor:pointer}
#syncStatus{flex:1;min-width:140px} [hidden]{display:none!important}
:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
.reclaim-card-wrap{min-height:420px}.reclaim-card{height:420px}.card-face{padding:28px;overflow-wrap:anywhere}.card-back p{font-size:1rem;opacity:1}.card-front h2{font-size:clamp(1.7rem,6vw,2.7rem)}
@media(max-width:390px){.reclaim-card,.reclaim-card-wrap{min-height:460px;height:460px}.card-face{padding:24px}.cards-controls{gap:5px}.card-control{font-size:.75rem}.weekday{padding:8px 2px;font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* RECLAIM Cards: Safari-compatible flip mechanism, integrated from standalone 3D preview. */
.reclaim-card-wrap { perspective:1400px; -webkit-perspective:1400px; isolation:auto; }
.reclaim-card { display:block; appearance:none; -webkit-appearance:none; padding:0; border:0; background:transparent; text-align:left; color:inherit; -webkit-tap-highlight-color:transparent; transform:rotateY(0deg); -webkit-transform:rotateY(0deg); -webkit-transform-style:preserve-3d; transform-style:preserve-3d; transition:transform .75s cubic-bezier(.2,.75,.2,1); -webkit-transition:-webkit-transform .75s cubic-bezier(.2,.75,.2,1); }
.reclaim-card.flipped { transform:rotateY(180deg); -webkit-transform:rotateY(180deg); }
.reclaim-card .card-face { box-sizing:border-box; -webkit-backface-visibility:hidden; backface-visibility:hidden; -webkit-transform-style:flat; transform-style:flat; overflow:hidden; }
.reclaim-card .card-front { transform:rotateY(0deg) translateZ(1px); -webkit-transform:rotateY(0deg) translateZ(1px); }
.reclaim-card .card-back { transform:rotateY(180deg) translateZ(1px); -webkit-transform:rotateY(180deg) translateZ(1px); }
.reclaim-card:focus-visible { outline:2px solid var(--rust,#B5714F); outline-offset:5px; }

#reclaimAuthGate [hidden]{display:none!important}
#reclaimAuthGate #newCustomer{padding:20px;margin:24px 0;border:1px solid rgba(70,48,38,.14);border-radius:16px}
#reclaimAuthGate #newCustomer h2{margin:0 0 10px;font-size:24px;color:#6f5141}
#reclaimAuthGate #newCustomer p{line-height:1.6}
#reclaimAuthGate #newCustomer .auth-link{padding:14px 16px;border:1px solid #6f5141;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none}
#reclaimAuthGate #newCustomer .auth-link:focus-visible{outline:2px solid #6f5141;outline-offset:3px}
#reclaimAuthGate #returningCustomer{margin-top:24px;font-size:14px}
