:root{
  --bg:#f7f2ea; --paper:#fffaf4; --panel:#f2eadf; --ink:#23314c; --muted:#6f746f;
  --sage:#718a77; --sage2:#dce7dc; --pink:#f4d8da; --lav:#dfd9ec; --peach:#f4dfcf;
  --blue:#dfe8f4; --gold:#f0c16c; --green:#76a77e; --red:#d97979; --shadow:0 14px 38px rgba(51,55,50,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{background:#f6f1e9;border-right:1px solid rgba(50,60,50,.08);padding:26px 18px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:30px}.brand strong{display:block;font-size:20px}.brand span{font-size:12px;color:var(--muted)}
.sidebar nav{display:grid;gap:8px}.nav-btn{border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:14px;color:var(--ink);display:flex;gap:12px;align-items:center}.nav-btn.active{background:#dce3d9}.nav-btn span{font-size:20px;width:22px;text-align:center}
.sidebar-note{margin-top:auto;background:#f8ded6;padding:18px;border-radius:18px;text-align:center;color:#3c4a43}.sidebar-note span{color:#c96475;font-size:22px}.sidebar-note p{font-family:Georgia,serif;line-height:1.5}
.main{padding:24px 28px 110px;min-width:0;max-width:1480px;margin:0 auto}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.eyebrow{margin:0;color:#b67a45;font-weight:700;font-size:13px}.topbar h1{margin:4px 0 4px;font-size:34px;line-height:1.08}.topbar p{margin:0;color:var(--muted)}.topbar-actions{display:flex;gap:8px;align-items:center}.date-pill,.icon-btn{background:#efe8dd;border:0;border-radius:14px;padding:10px 13px}.icon-btn{width:44px;height:44px}
.view{display:none}.active-view{display:block}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.hero-card{background:var(--paper);border:1px solid rgba(60,70,60,.08);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:grid;gap:16px;align-items:start}
.avatar-panel{display:none}
.avatar-img{width:min(100%,260px);max-width:260px;max-height:220px;height:auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 20px rgba(55,55,55,.08))}.avatar-fallback{display:none;place-items:center;font-size:90px;min-height:280px}
.avatar-bubble{position:absolute;right:12px;top:18px;max-width:185px;background:white;border-radius:20px;padding:13px 15px;font-family:Georgia,serif;line-height:1.35;box-shadow:0 6px 20px rgba(40,40,40,.06)}
.needs-card{padding:0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading h2{margin:0;font-size:22px}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:14px}.small-help{width:28px;height:28px;border-radius:50%;border:1px solid #d4cfc6;background:white;color:var(--muted)}
.meters{display:grid;gap:16px;margin-top:20px}.meter-row{display:grid;grid-template-columns:135px 1fr 46px;gap:12px;align-items:center}.meter-label{display:flex;gap:8px;align-items:center;font-size:14px}.meter-track{height:13px;background:#ece8e2;border-radius:999px;overflow:hidden}.meter-fill{height:100%;border-radius:999px;transition:width .25s ease}.meter-value{text-align:right;font-size:14px;font-weight:700}.needs-note{margin-top:18px;background:#f8e4dd;padding:12px;border-radius:14px;font-family:Georgia,serif;color:#575957}
.right-rail{display:grid;gap:12px;align-content:start}.prompt-stack{display:grid;gap:12px}.prompt-card{background:#f5f8f2;border:1px solid #e3e7dd;border-radius:18px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start}.prompt-icon{font-size:28px}.prompt-card h3{margin:0 0 4px;font-size:16px}.prompt-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.prompt-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.mini-btn{border:0;background:#728c79;color:white;border-radius:12px;padding:9px 12px}.dismiss-btn{border:0;background:transparent;color:#6e776f;font-size:20px;padding:0}.quote-card{background:#f8ddd5;border-radius:18px;padding:18px;font-family:Georgia,serif;font-size:18px;line-height:1.45}.intent-card{border:0;background:var(--paper);border-radius:18px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;box-shadow:var(--shadow);color:var(--ink)}.intent-card small{display:block;color:var(--muted)}.intent-card strong{display:block;font-size:28px;margin-top:2px}
.activities-section{margin-top:16px;background:var(--paper);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.activities-heading{margin-bottom:14px}.filters{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.filter-btn{white-space:nowrap;border:0;background:#eeeae4;padding:9px 15px;border-radius:999px}.filter-btn.active{background:#718a77;color:white}.activity-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-top:14px}.activity-card{border:1px solid rgba(70,70,70,.07);border-radius:16px;padding:15px;min-height:112px;text-align:left;background:#f8e5e6;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}.activity-card:nth-child(2n){background:#e5edf8}.activity-card:nth-child(3n){background:#e4eee6}.activity-card:nth-child(4n){background:#f7e8d8}.activity-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(60,60,60,.08)}.activity-card .emoji{font-size:28px;display:block;margin-bottom:9px}.activity-card strong{display:block}.activity-card small{display:block;color:var(--muted);margin-top:5px}
.custom-activity{display:grid;grid-template-columns:50px 1fr 150px 100px;gap:10px;margin-top:15px}.custom-activity input,.custom-activity select,.settings-card input{border:1px solid #ddd7ce;background:white;border-radius:14px;padding:12px;min-width:0}.plus-btn{border:0;border-radius:50%;background:#eeebe5;font-size:24px}.primary-btn{border:0;background:#718a77;color:white;border-radius:14px;padding:12px 18px}.ghost-btn,.danger-btn{border:1px solid #d7d1c8;background:white;border-radius:12px;padding:9px 12px}.danger-btn{color:#a84242}
.page-card{background:var(--paper);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.page-card h2{margin-top:0}.muted{color:var(--muted)}.activity-library,.insight-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.library-card,.insight-card{border:1px solid #e5dfd7;border-radius:16px;padding:16px;background:white}.library-card h3,.insight-card h3{margin:0 0 6px}.tag{display:inline-block;background:#eef1eb;border-radius:999px;padding:5px 8px;font-size:12px;color:#56635a;margin-top:8px}.timeline{display:grid;gap:10px;margin-top:18px}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #eee8df}.timeline-time{color:var(--muted);font-size:13px}.timeline-item strong{display:block}.timeline-item p{margin:3px 0;color:var(--muted);font-size:13px}.day-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.summary-box{background:#f0ebe4;border-radius:16px;padding:15px}.summary-box small{color:var(--muted);display:block}.summary-box strong{font-size:24px;display:block;margin-top:4px}
.settings-card{display:grid;gap:0}.setting-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #eee7de}.setting-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.setting-row.stacked{grid-template-columns:1fr}.switch input{display:none}.switch span{display:block;width:52px;height:30px;background:#ddd;border-radius:999px;position:relative}.switch span::after{content:"";position:absolute;width:24px;height:24px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s}.switch input:checked+span{background:#718a77}.switch input:checked+span::after{left:25px}.timing-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.timing-grid label{background:#f4efe8;border-radius:12px;padding:10px}.timing-grid input{width:70px;margin-left:6px}.button-row{display:flex;gap:10px;flex-wrap:wrap}
.mobile-nav{display:none}
dialog{border:0;border-radius:20px;padding:0;max-width:520px;width:calc(100% - 30px);box-shadow:0 20px 80px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(30,30,30,.35)}.dialog-card{position:relative;padding:24px}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px}.dialog-effects{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.effect-chip{background:#eef0eb;border-radius:999px;padding:7px 10px;font-size:13px}.dialog-buttons{display:flex;gap:8px;margin-top:18px}
@media (max-width:1150px){.activity-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.right-rail{grid-template-columns:repeat(3,1fr)}.prompt-stack{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media (max-width:850px){.app-shell{display:block}.sidebar{display:none}.main{padding:24px 28px 110px;min-width:0;max-width:1480px;margin:0 auto}.topbar h1{font-size:28px}.topbar-actions .date-pill{display:none}.hero-card{background:var(--paper);border:1px solid rgba(60,70,60,.08);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:grid;gap:16px;align-items:start}.avatar-panel{display:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.right-rail{display:grid;grid-template-columns:1fr;margin-top:12px}.prompt-stack{grid-template-columns:1fr}.activity-grid{grid-template-columns:repeat(2,1fr)}.custom-activity{grid-template-columns:44px 1fr}.custom-activity select,.custom-activity .primary-btn{grid-column:auto}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:rgba(255,250,244,.96);border-top:1px solid #e5ded4;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:50}.mobile-nav-btn{border:0;background:transparent;display:grid;justify-items:center;gap:2px;color:#667068;padding:7px 4px;font-size:18px}.mobile-nav-btn span{font-size:10px}.mobile-nav-btn.active{color:#40594a}.day-summary,.activity-library,.insight-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.topbar{align-items:center}.topbar h1{font-size:25px}.hero-card{background:var(--paper);border:1px solid rgba(60,70,60,.08);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:grid;gap:16px;align-items:start}.avatar-panel{display:none}.activity-grid{grid-template-columns:1fr 1fr;gap:8px}.activity-card{min-height:100px;padding:12px}.custom-activity{grid-template-columns:1fr}.plus-btn{display:none}.custom-activity select,.custom-activity .primary-btn{grid-column:1}.meter-row{grid-template-columns:110px 1fr 38px;gap:7px}.day-summary,.activity-library,.insight-cards,.timing-grid{grid-template-columns:1fr}.avatar-bubble{font-size:13px;max-width:155px}.setting-row{grid-template-columns:1fr}.right-rail{display:grid}}




.hero-top{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.avatar-spot{
  position:relative;
  display:grid;
  justify-items:center;
  align-items:end;
  min-height:220px;
  padding:10px 10px 28px;
  background:linear-gradient(150deg,#f6dfd6,#eee5da);
  border-radius:18px;
  overflow:hidden;
}
.avatar-fallback{
  display:none;
  place-items:center;
  font-size:84px;
  min-height:160px;
}
.avatar-bubble{
  position:static;
  max-width:420px;
  width:fit-content;
  background:white;
  border-radius:20px;
  padding:14px 16px;
  font-family:Georgia,serif;
  line-height:1.35;
  box-shadow:0 6px 20px rgba(40,40,40,.06);
  margin-bottom:12px;
}
.avatar-state{
  position:absolute;
  left:12px;
  bottom:10px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(80,80,80,.08);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  color:#5a645b;
  box-shadow:0 6px 18px rgba(40,40,40,.06);
}
.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.hero-mini-note{
  background:#f5efe6;
  border-radius:16px;
  padding:14px 16px;
}
.hero-mini-note strong{
  display:block;
  margin-bottom:4px;
  font-size:15px;
}
.hero-mini-note p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.build-label{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}
.meters{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.meter-row{
  display:grid;
  grid-template-columns:135px 1fr 46px;
  gap:12px;
  align-items:center;
}
.meter-track{
  height:14px;
  background:#ece8e2;
  border-radius:999px;
  overflow:hidden;
}
.meter-fill{
  height:100%;
  border-radius:999px;
  transition:width .25s ease;
}
.right-rail{
  display:grid;
  gap:12px;
  align-content:start;
}
.intent-card#workStatus{
  grid-template-columns:1fr;
}
.intent-card#workStatus small{
  display:block;
  color:var(--muted);
  margin-bottom:4px;
}
.intent-card#workStatus strong{
  font-size:18px;
}
.intent-card#workStatus p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
@media (max-width:1150px){
  .dashboard-grid{grid-template-columns:1fr}
  .right-rail{grid-template-columns:repeat(2,1fr)}
  .prompt-stack{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}
}
@media (max-width:850px){
  .main{padding:18px 14px 92px}
  .hero-top{grid-template-columns:1fr}
  .avatar-spot{min-height:200px}
  .avatar-img{max-width:220px;max-height:190px}
  .dashboard-grid{display:block}
  .right-rail{display:grid;grid-template-columns:1fr;margin-top:12px}
}
@media (max-width:520px){
  .main{padding:16px 12px 92px}
  .topbar h1{font-size:25px}
  .hero-card{padding:14px}
  .avatar-spot{padding:8px 8px 26px}
  .avatar-bubble{max-width:none;width:100%;font-size:13px}
  .meter-row{grid-template-columns:110px 1fr 38px;gap:7px}
}


/* Build 7: standalone sprite avatar */
.hero-top{
  grid-template-columns: 220px minmax(0,1fr);
  gap: 18px;
  align-items: center;
}
.avatar-spot{
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 210px;
  padding: 0 0 26px;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.avatar-img{
  width: min(100%, 240px);
  max-width: 240px;
  max-height: 210px;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 12px 18px rgba(55,55,55,.10));
}
.avatar-state{
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: rgba(255,255,255,.96);
}
.hero-mini-note{
  background: #f7f1e8;
}
@media (max-width:850px){
  .hero-top{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .avatar-spot{
    min-height: 180px;
    justify-content: flex-start;
  }
  .avatar-img{
    max-width: 200px;
    max-height: 180px;
  }
  .avatar-state{
    left: 100px;
    transform: translateX(-50%);
  }
}
@media (max-width:520px){
  .avatar-spot{
    min-height: 165px;
    padding-bottom: 24px;
  }
  .avatar-img{
    max-width: 180px;
    max-height: 160px;
  }
  .avatar-state{
    left: 50%;
    transform: translateX(-50%);
  }
}


/* Build 8: balanced spacing — standalone sprite with more breathing room */
.main{
  padding:30px 34px 120px;
  max-width:1500px;
}

.topbar{
  margin-bottom:28px;
}

.dashboard-grid{
  gap:22px;
}

.hero-card{
  padding:26px;
  gap:24px;
}

.hero-top{
  grid-template-columns:280px minmax(0,1fr);
  gap:30px;
  align-items:center;
}

.avatar-spot{
  min-height:280px;
  padding:14px 0 32px;
  background:transparent;
  border-radius:0;
  overflow:visible;
}

.avatar-img{
  width:min(100%,280px);
  max-width:280px;
  max-height:250px;
  height:auto;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 12px 20px rgba(55,55,55,.10));
}

.avatar-state{
  bottom:0;
}

.hero-copy{
  gap:16px;
}

.avatar-bubble{
  padding:17px 20px;
  line-height:1.45;
  margin-bottom:0;
}

.hero-mini-note{
  padding:17px 19px;
}

.needs-card{
  padding-top:4px;
}

.meters{
  gap:15px;
  margin-top:20px;
}

.needs-note{
  margin-top:20px;
  padding:14px;
}

.right-rail{
  gap:16px;
}

.activities-section{
  margin-top:24px;
  padding:24px;
}

.activities-heading{
  margin-bottom:18px;
}

.activity-grid{
  gap:14px;
  margin-top:18px;
}

.custom-activity{
  margin-top:20px;
}

@media (max-width:1150px){
  .dashboard-grid{gap:18px}
  .hero-card{padding:22px}
}

@media (max-width:850px){
  .main{padding:22px 16px 100px}
  .topbar{margin-bottom:22px}
  .hero-card{padding:20px;gap:20px}
  .hero-top{
    grid-template-columns:1fr;
    gap:16px;
  }
  .avatar-spot{
    min-height:235px;
    padding:10px 0 28px;
  }
  .avatar-img{
    max-width:235px;
    max-height:210px;
  }
  .hero-copy{gap:12px}
  .activities-section{
    margin-top:18px;
    padding:18px;
  }
}

@media (max-width:520px){
  .main{padding:18px 12px 96px}
  .hero-card{padding:16px}
  .avatar-spot{
    min-height:205px;
    padding-bottom:26px;
  }
  .avatar-img{
    max-width:205px;
    max-height:185px;
  }
  .avatar-bubble{padding:14px 16px}
  .hero-mini-note{padding:14px 16px}
  .activities-section{padding:16px}
}


/* Build 9: mobile-first stacked home */
.app-shell{
  display:block;
  min-height:100vh;
}
.sidebar{display:none!important}
.main{
  width:min(100%,980px);
  max-width:980px;
  margin:0 auto;
  padding:22px 18px 100px;
}
.compact-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:26px;
}
.compact-brand{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.compact-brand span{font-size:24px}
.compact-brand strong{font-size:18px}
.compact-brand small{
  display:block;
  width:100%;
  margin-left:32px;
  color:var(--muted);
  font-size:10px;
}
.compact-nav nav{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.compact-nav .nav-btn{
  border:0;
  background:transparent;
  padding:9px 12px;
  border-radius:12px;
}
.compact-nav .nav-btn.active{
  background:#dce3d9;
}

.topbar{
  margin-bottom:24px;
}
.topbar h1{font-size:34px}

.home-stack{
  display:grid;
  gap:22px;
}

.avatar-section{
  display:grid;
  justify-items:center;
  text-align:center;
  padding:6px 10px 0;
}
.avatar-stage{
  width:min(100%,520px);
  min-height:330px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.avatar-img{
  width:min(100%,390px);
  max-width:390px;
  max-height:320px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 14px 22px rgba(55,55,55,.10));
}
.avatar-state{
  position:static;
  transform:none;
  margin-top:6px;
  background:#fffaf4;
  border:1px solid rgba(80,80,80,.08);
  padding:8px 13px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  color:#5a645b;
}
.avatar-bubble{
  position:static;
  max-width:520px;
  width:auto;
  margin:12px auto 0;
  background:#fffaf4;
  border-radius:18px;
  padding:14px 18px;
  font-family:Georgia,serif;
  line-height:1.45;
  box-shadow:none;
  border:1px solid rgba(60,70,60,.07);
}

.home-card,
.activities-section{
  background:var(--paper);
  border:1px solid rgba(60,70,60,.07);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:22px;
}

.needs-card{padding:22px}
.meters{
  gap:14px;
  margin-top:18px;
}
.meter-row{
  grid-template-columns:140px 1fr 48px;
}
.needs-note{
  margin-top:18px;
}

.support-row{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);
  gap:18px;
  align-items:start;
}
.reminders-card{
  min-width:0;
}
.prompt-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}
.support-side{
  display:grid;
  gap:12px;
}
.right-rail{display:contents}

.intent-card,
.quote-card{
  box-shadow:none;
  border:1px solid rgba(60,70,60,.07);
}
.intent-card#workStatus{
  grid-template-columns:1fr;
}

.activities-section{
  margin-top:0;
  padding:22px;
}
.activity-grid{
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:12px;
  margin-top:16px;
}
.custom-activity{
  margin-top:18px;
}

@media (max-width:850px){
  .main{
    width:100%;
    padding:18px 14px 92px;
  }
  .compact-nav nav{
    display:none;
  }
  .compact-brand small{margin-left:32px}
  .topbar{
    margin-bottom:18px;
  }
  .topbar h1{font-size:28px}
  .avatar-stage{
    min-height:280px;
  }
  .avatar-img{
    max-width:330px;
    max-height:275px;
  }
  .support-row{
    grid-template-columns:1fr;
  }
  .activity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mobile-nav{display:grid}
}

@media (max-width:520px){
  .main{padding:16px 12px 90px}
  .home-stack{gap:16px}
  .topbar h1{font-size:25px}
  .avatar-stage{
    min-height:245px;
  }
  .avatar-img{
    max-width:290px;
    max-height:240px;
  }
  .avatar-bubble{
    font-size:14px;
    padding:12px 14px;
  }
  .home-card,
  .activities-section{
    padding:16px;
    border-radius:18px;
  }
  .meter-row{
    grid-template-columns:105px 1fr 38px;
    gap:7px;
  }
  .activity-grid{
    gap:8px;
  }
  .activity-card{
    min-height:104px;
    padding:12px;
  }
}


/* Build 10: full-pose sprites and one-message rule */
.avatar-stage{
  min-height:350px;
}
.avatar-img{
  width:min(100%,410px);
  max-width:410px;
  max-height:335px;
}
.avatar-bubble{
  position:relative;
  margin-top:10px;
  max-width:540px;
}
.avatar-bubble::before{
  content:"";
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:18px;
  height:18px;
  background:#fffaf4;
  border-left:1px solid rgba(60,70,60,.07);
  border-top:1px solid rgba(60,70,60,.07);
}
.quote-card{
  display:none!important;
}
.support-side{
  align-content:start;
}
@media (max-width:850px){
  .avatar-stage{min-height:300px}
  .avatar-img{max-width:360px;max-height:290px}
}
@media (max-width:520px){
  .avatar-stage{min-height:270px}
  .avatar-img{max-width:325px;max-height:260px}
}


/* Build 11: closer to earlier mockup */
.main{
  width:min(100%, 980px);
  max-width:980px;
}
.avatar-section{
  padding:8px 0 2px;
}
.hero-avatar-wrap{
  display:grid;
  grid-template-columns:minmax(0, 420px) minmax(220px, 1fr);
  gap:18px;
  align-items:center;
  justify-content:center;
}
.avatar-stage{
  min-height:350px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.avatar-img{
  width:min(100%, 390px);
  max-width:390px;
  max-height:330px;
  height:auto;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 14px 22px rgba(55,55,55,.10));
}
.hero-bubble-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.avatar-bubble{
  position:relative;
  display:inline-block;
  max-width:290px;
  margin:0;
  background:#fffaf4;
  border-radius:28px;
  padding:18px 22px;
  border:1px solid rgba(60,70,60,.07);
  box-shadow:0 6px 16px rgba(40,40,40,.04);
  font-family:Georgia,serif;
  font-size:17px;
  line-height:1.45;
  text-align:center;
}
.avatar-bubble::before{
  content:"";
  position:absolute;
  left:-8px;
  top:58%;
  transform:translateY(-50%) rotate(45deg);
  width:18px;
  height:18px;
  background:#fffaf4;
  border-left:1px solid rgba(60,70,60,.07);
  border-bottom:1px solid rgba(60,70,60,.07);
}
.avatar-state{
  position:static;
  margin-left:12px;
  background:#ecf1e8;
  border:1px solid rgba(80,80,80,.05);
  padding:8px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  color:#5a645b;
}
.needs-card{
  margin-top:2px;
}
@media (max-width:850px){
  .hero-avatar-wrap{
    grid-template-columns:1fr;
    gap:8px;
  }
  .avatar-stage{
    min-height:320px;
  }
  .avatar-img{
    max-width:360px;
    max-height:305px;
  }
  .hero-bubble-wrap{
    align-items:center;
  }
  .avatar-bubble{
    max-width:420px;
    width:100%;
    font-size:16px;
  }
  .avatar-bubble::before{
    left:50%;
    top:-8px;
    transform:translateX(-50%) rotate(45deg);
    border-left:1px solid rgba(60,70,60,.07);
    border-bottom:none;
    border-top:1px solid rgba(60,70,60,.07);
  }
  .avatar-state{
    margin-left:0;
  }
}
@media (max-width:520px){
  .avatar-stage{
    min-height:280px;
  }
  .avatar-img{
    max-width:320px;
    max-height:270px;
  }
  .avatar-bubble{
    padding:15px 16px;
    font-size:15px;
  }
}


/* Build 12: clean standalone sprites + consistent category colours */

/* Ensure the avatar always behaves as a true standalone sprite. */
.avatar-stage{
  overflow:visible;
}
.avatar-img{
  object-fit:contain;
  object-position:center bottom;
  background:transparent!important;
  border:0!important;
  clip-path:none!important;
}

/* Static category colours */
.activity-card.type-fuel{
  background:#c8dfca!important; /* slightly deeper green */
}
.activity-card.type-rest{
  background:#e8e0f2!important; /* soft purple */
}
.activity-card.type-move{
  background:#dcecff!important; /* bright/clear blue */
}
.activity-card.type-focus{
  background:#f7e2c8!important; /* soft orange */
}
.activity-card.type-connect{
  background:#f6dddd!important; /* soft red */
}
.activity-card.type-enjoy{
  background:#eee4f7!important; /* light purple */
}
.activity-card.type-care{
  background:#e2efe6!important; /* soft green */
}

/* Matching filter chips */
.filter-btn[data-type="fuel"]{background:#c8dfca}
.filter-btn[data-type="rest"]{background:#e8e0f2}
.filter-btn[data-type="move"]{background:#dcecff}
.filter-btn[data-type="focus"]{background:#f7e2c8}
.filter-btn[data-type="connect"]{background:#f6dddd}
.filter-btn[data-type="enjoy"]{background:#eee4f7}
.filter-btn[data-type="care"]{background:#e2efe6}
.filter-btn[data-type="all"]{background:#eeeae4}

.filter-btn.active{
  color:var(--ink)!important;
  outline:2px solid #718a77;
  outline-offset:1px;
}


/* Build 14: sprite safety + usable activity manager */
.avatar-stage{
  overflow:visible!important;
  min-height:380px;
}
.avatar-img{
  width:min(100%,440px)!important;
  max-width:440px!important;
  max-height:365px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  overflow:visible!important;
}

.saved-activity-form{
  margin-top:20px;
  padding:18px;
  background:#f6f1e9;
  border-radius:18px;
  display:grid;
  gap:16px;
}
.saved-form-head h3,
.activity-library-heading h3{
  margin:0;
}
.saved-form-head p,
.activity-library-heading p{
  margin:5px 0 0;
}
.saved-form-main{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(140px,.8fr) minmax(90px,.4fr);
  gap:12px;
}
.saved-form-main label,
.effect-input-grid label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:600;
}
.saved-form-main input,
.saved-form-main select,
.effect-input-grid input{
  width:100%;
  border:1px solid #ddd7ce;
  background:white;
  border-radius:12px;
  padding:11px;
  font-size:16px;
}
.effects-editor{
  border:1px solid #ded7ce;
  border-radius:16px;
  padding:14px;
}
.effects-editor legend{
  font-weight:700;
  padding:0 6px;
}
.effects-editor p{
  margin:0 0 12px;
}
.effect-input-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:10px;
}
.saved-form-options{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.check-option{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:14px;
}
.check-option input{
  width:18px;
  height:18px;
}
.activity-library-heading{
  margin:26px 0 14px;
}
.activity-library{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.library-card{
  display:grid;
  gap:11px;
}
.library-top{
  display:flex;
  align-items:center;
  gap:12px;
}
.library-emoji{
  font-size:30px;
}
.library-top h3{
  margin:0;
}
.library-effects{
  margin:0;
  font-size:13px;
  color:#535b56;
  line-height:1.5;
}
.library-flags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  min-height:20px;
}
.library-flags span{
  font-size:11px;
  background:rgba(255,255,255,.65);
  border-radius:999px;
  padding:5px 8px;
}
.library-actions{
  display:flex;
  gap:8px;
  margin-top:auto;
}
.library-card.type-fuel{background:#c8dfca}
.library-card.type-rest{background:#e8e0f2}
.library-card.type-move{background:#dcecff}
.library-card.type-focus{background:#f7e2c8}
.library-card.type-connect{background:#f6dddd}
.library-card.type-enjoy{background:#eee4f7}
.library-card.type-care{background:#e2efe6}

@media (max-width:850px){
  .avatar-stage{min-height:330px}
  .avatar-img{max-width:390px!important;max-height:320px!important}
  .saved-form-main{grid-template-columns:1fr 1fr}
  .saved-form-main label:first-child{grid-column:1/-1}
  .effect-input-grid{grid-template-columns:repeat(2,1fr)}
  .activity-library{grid-template-columns:1fr}
}
@media (max-width:520px){
  .avatar-stage{min-height:290px}
  .avatar-img{max-width:340px!important;max-height:280px!important}
  .saved-form-main{grid-template-columns:1fr}
  .saved-form-main label:first-child{grid-column:auto}
  .effect-input-grid{grid-template-columns:1fr 1fr}
}


/* Build 16: approved avatar set + no clipped filter edges */
.filters{
  overflow-x:auto;
  overflow-y:visible;
  padding:4px 4px 8px;
  margin:0 -4px;
  scroll-padding-left:4px;
}
.filter-btn{
  flex:0 0 auto;
}
.activities-heading{
  overflow:visible;
}
.activities-section{
  overflow:visible;
}
.avatar-section,
.hero-avatar-wrap,
.avatar-stage{
  overflow:visible!important;
}
.avatar-img{
  width:min(100%,460px)!important;
  max-width:460px!important;
  max-height:390px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
@media (max-width:850px){
  .avatar-img{max-width:400px!important;max-height:340px!important}
}
@media (max-width:520px){
  .avatar-img{max-width:350px!important;max-height:300px!important}
}


/* Build 17: Capacity decision support + visible need deltas */
.meter-track-wrap{
  position:relative;
  min-width:0;
}
.meter-delta{
  position:absolute;
  right:8px;
  top:-28px;
  z-index:4;
  opacity:0;
  transform:translateY(8px) scale(.96);
  pointer-events:none;
  white-space:nowrap;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  box-shadow:0 5px 14px rgba(40,40,40,.12);
  transition:opacity .2s ease,transform .2s ease;
}
.meter-delta.positive{
  background:#e3f0e4;
  color:#3f7048;
}
.meter-delta.negative{
  background:#f7dddd;
  color:#9a4848;
}
.meter-delta.show{
  opacity:1;
  transform:translateY(0) scale(1);
  animation:needDelta 3.2s ease forwards;
}
@keyframes needDelta{
  0%{opacity:0;transform:translateY(8px) scale(.95)}
  10%,72%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-6px) scale(.98)}
}

.capacity-choices{
  margin-top:16px;
  border-top:1px solid #e7e0d7;
  padding-top:16px;
}
.capacity-choice-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  margin-bottom:10px;
}
.capacity-choice-head strong{
  font-size:15px;
}
.capacity-choice-head span{
  color:var(--muted);
  font-size:12px;
}
.capacity-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.capacity-choice{
  border:1px solid #e1dbd2;
  background:#fffaf4;
  border-radius:14px;
  padding:11px;
  text-align:left;
  display:flex;
  gap:9px;
  align-items:flex-start;
  color:var(--ink);
}
.capacity-choice:hover{
  background:#f6f1e9;
}
.capacity-choice-emoji{
  font-size:23px;
  line-height:1;
}
.capacity-choice strong{
  display:block;
  font-size:13px;
}
.capacity-choice small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  line-height:1.3;
  font-size:11px;
}
@media (max-width:650px){
  .capacity-choice-grid{grid-template-columns:1fr}
  .capacity-choice-head{display:block}
  .capacity-choice-head span{display:block;margin-top:3px}
}


/* Build 18: local cache-safe testing + cleaner filters */
.filters{
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:6px 6px 10px!important;
  margin:0!important;
}
.filter-btn{
  outline:none!important;
  box-shadow:none;
}
.filter-btn.active{
  outline:none!important;
  border:0!important;
  box-shadow:inset 0 0 0 2px #718a77!important;
  color:var(--ink)!important;
}

/* Keep meter effect bubbles visible and long enough to notice */
.meter-track-wrap{
  overflow:visible!important;
}
.meter-row{
  overflow:visible!important;
}
.meters{
  overflow:visible!important;
}
.meter-delta{
  top:-32px!important;
  z-index:20!important;
  font-size:12px!important;
  padding:6px 9px!important;
}

}


/* Build 19: hard reset for activity filter chips */
.filters{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:8px 2px 10px!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
button.filter-btn{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#eeeae4!important;
  color:var(--ink)!important;
  font:inherit!important;
  font-size:14px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
button.filter-btn[data-type="fuel"]{background:#c8dfca!important}
button.filter-btn[data-type="rest"]{background:#e8e0f2!important}
button.filter-btn[data-type="move"]{background:#dcecff!important}
button.filter-btn[data-type="focus"]{background:#f7e2c8!important}
button.filter-btn[data-type="connect"]{background:#f6dddd!important}
button.filter-btn[data-type="enjoy"]{background:#eee4f7!important}
button.filter-btn[data-type="care"]{background:#e2efe6!important}
button.filter-btn[data-type="all"]{background:#eeeae4!important}
button.filter-btn.active{
  box-shadow:inset 0 0 0 2px #718a77!important;
}
button.filter-btn:focus,
button.filter-btn:focus-visible{
  outline:none!important;
}

/* New avatar folder is rendered without clipping */
.avatar-section,.hero-avatar-wrap,.avatar-stage{
  overflow:visible!important;
}
.avatar-img{
  width:min(100%,470px)!important;
  max-width:470px!important;
  max-height:405px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:transparent!important;
}


/* Build 22: live workday timer */
.work-timer-card{
  background:linear-gradient(135deg,#f6f1e9,#fffaf4);
  border:1px solid rgba(60,70,60,.08);
  border-radius:22px;
  padding:20px;
  box-shadow:var(--shadow);
}
.work-timer-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.work-timer-eyebrow{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.work-timer-value{
  font-size:42px;
  line-height:1;
  font-weight:800;
  margin:7px 0;
  letter-spacing:-.03em;
}
.work-timer-main p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.work-timer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.timer-action{
  border:1px solid #d9d3ca;
  background:white;
  color:var(--ink);
  border-radius:14px;
  padding:11px 14px;
  font:inherit;
  font-weight:650;
  cursor:pointer;
}
.timer-action.lunch-action{
  background:#f7e2c8;
}
.timer-action.back-action{
  background:#dfeadd;
}
.timer-action.finish-action{
  background:#eeeae4;
}
.work-timer-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:17px;
  padding-top:14px;
  border-top:1px solid #e5ded5;
}
.work-timer-strip div{
  display:grid;
  gap:3px;
}
.work-timer-strip span{
  color:var(--muted);
  font-size:11px;
}
.work-timer-strip strong{
  font-size:15px;
}
.day-work-summary{
  background:#f6f1e9;
  border:1px solid #e1dad1;
  border-radius:16px;
  padding:14px;
  display:grid;
  gap:5px;
  margin-bottom:12px;
}
.day-work-summary strong{
  font-size:15px;
}
.day-work-summary span{
  font-size:13px;
}
.day-work-summary small{
  color:var(--muted);
  line-height:1.45;
}
@media (max-width:650px){
  .work-timer-main{
    display:grid;
    gap:15px;
  }
  .work-timer-actions{
    justify-content:flex-start;
  }
  .work-timer-value{
    font-size:36px;
  }
}


/* Build 23: activity feedback returns to Needs */
.needs-card{
  scroll-margin-top:18px;
}
.meter-row{
  overflow:visible!important;
}
.meter-label{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-width:0;
}
.meter-delta-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  opacity:0;
  transform:translateY(3px) scale(.96);
  padding:4px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  transition:opacity .18s ease, transform .18s ease;
}
.meter-delta-inline.positive{
  background:#e3f0e4;
  color:#3f7048;
}
.meter-delta-inline.negative{
  background:#f7dddd;
  color:#9a4848;
}
.meter-delta-inline.show{
  opacity:1;
  transform:translateY(0) scale(1);
  animation:needDeltaInline 5s ease forwards;
}
@keyframes needDeltaInline{
  0%{opacity:0;transform:translateY(3px) scale(.95)}
  8%,78%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-3px) scale(.98)}
}


/* Build 24: final mobile-first layout repair */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{
  -webkit-text-size-adjust:100%;
}
.app-shell,
.main,
.view,
.home-stack,
.avatar-section,
.hero-avatar-wrap,
.needs-card,
.support-row,
.reminders-card,
.support-side,
.activities-section,
.page-card{
  min-width:0!important;
  max-width:100%!important;
}
.main{
  width:100%!important;
}

@media (max-width:850px){
  .main{
    width:100%!important;
    max-width:100%!important;
    padding:
      14px
      max(12px, env(safe-area-inset-right))
      calc(106px + env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left))!important;
    margin:0!important;
  }

  .compact-nav{
    width:100%!important;
    max-width:100%!important;
    padding:4px 2px 0!important;
  }
  .compact-brand{
    min-width:0!important;
  }
  .compact-brand strong{
    font-size:20px!important;
  }
  .compact-brand small{
    display:block!important;
    margin:5px 0 0 32px!important;
    font-size:11px!important;
  }

  .topbar{
    width:100%!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin:14px 0 14px!important;
  }
  .topbar > div:first-child{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .topbar h1{
    font-size:28px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }
  .topbar p{
    font-size:16px!important;
  }
  .topbar-actions{
    flex:0 0 auto!important;
  }
  .icon-btn{
    width:44px!important;
    height:44px!important;
    padding:0!important;
  }

  /* Compact avatar: no large blank canvas above/beside it */
  .avatar-section{
    padding:0!important;
    width:100%!important;
  }
  .hero-avatar-wrap{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .avatar-stage{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .avatar-img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:min(88vw,330px)!important;
    max-height:300px!important;
    margin:0 auto!important;
  }
  .hero-bubble-wrap{
    width:100%!important;
    align-items:center!important;
  }
  .avatar-bubble{
    width:100%!important;
    max-width:520px!important;
    padding:12px 14px!important;
    margin:0 auto!important;
    font-size:14px!important;
    overflow-wrap:anywhere;
  }
  .avatar-bubble::before{
    left:50%!important;
    top:-8px!important;
    transform:translateX(-50%) rotate(45deg)!important;
    border-left:1px solid rgba(60,70,60,.07)!important;
    border-bottom:none!important;
    border-top:1px solid rgba(60,70,60,.07)!important;
  }
  .avatar-state{
    margin:2px auto 0!important;
  }

  .home-card,
  .activities-section,
  .work-timer-card,
  .page-card{
    width:100%!important;
    max-width:100%!important;
    padding:16px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  .section-heading{
    min-width:0!important;
  }
  .section-heading > div{
    min-width:0!important;
  }
  .section-heading h2{
    font-size:23px!important;
    line-height:1.15!important;
  }
  .section-heading p{
    font-size:14px!important;
    line-height:1.4!important;
    overflow-wrap:anywhere;
  }

  /* Needs: label + bar only, percentage stays inside viewport */
  .meters{
    gap:14px!important;
    width:100%!important;
  }
  .meter-row{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:minmax(108px,auto) minmax(0,1fr) 38px!important;
    gap:8px!important;
  }
  .meter-label{
    min-width:0!important;
    gap:7px!important;
    font-size:14px!important;
  }
  .meter-track{
    min-width:0!important;
    width:100%!important;
  }
  .meter-value{
    width:38px!important;
    font-size:12px!important;
  }
  .meter-delta-inline{
    font-size:10px!important;
    padding:3px 5px!important;
  }
  .needs-note{
    width:100%!important;
    font-size:15px!important;
    line-height:1.4!important;
  }

  /* Reminders and capacity choices wrap instead of pushing page wide */
  .support-row,
  .right-rail,
  .support-side,
  .prompt-stack,
  .capacity-choice-grid{
    width:100%!important;
    grid-template-columns:1fr!important;
  }
  .prompt-card{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
    padding:13px!important;
  }
  .prompt-card > *{
    min-width:0!important;
  }
  .prompt-card .dismiss-btn{
    grid-column:2!important;
    justify-self:start!important;
  }
  .prompt-card h3,
  .prompt-card p,
  .capacity-choice strong,
  .capacity-choice small{
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  .prompt-actions{
    width:100%!important;
  }
  .mini-btn{
    max-width:100%!important;
    white-space:normal!important;
  }
  .capacity-choice{
    width:100%!important;
    min-width:0!important;
  }

  .intent-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }

  /* Activity area */
  .filters{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:5px 2px 10px!important;
    margin:0!important;
  }
  .filters::-webkit-scrollbar{
    display:none;
  }
  button.filter-btn{
    flex:0 0 auto!important;
  }
  .activity-grid{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .activity-card{
    width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .activity-card strong,
  .activity-card small{
    overflow-wrap:anywhere!important;
  }
  .custom-activity{
    width:100%!important;
    grid-template-columns:1fr!important;
  }
  .custom-activity input,
  .custom-activity select,
  .custom-activity button{
    width:100%!important;
    min-width:0!important;
  }

  /* Other pages */
  .saved-form-main,
  .effect-input-grid,
  .activity-library,
  .insight-cards,
  .day-summary,
  .timing-grid,
  .setting-row{
    grid-template-columns:1fr!important;
  }
  .saved-activity-form,
  .library-card,
  .insight-card,
  .summary-box{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .saved-form-main input,
  .saved-form-main select,
  .effect-input-grid input,
  .settings-card input{
    width:100%!important;
    max-width:100%!important;
  }
  .timeline-item{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:10px!important;
  }

  /* Work timer */
  .work-timer-main{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .work-timer-actions{
    justify-content:flex-start!important;
    width:100%!important;
  }
  .timer-action{
    max-width:100%!important;
    white-space:normal!important;
  }
  .work-timer-strip{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .work-timer-strip div{
    min-width:0!important;
  }

  /* Fixed mobile nav: keep content clear of it */
  .mobile-nav{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:
      7px
      max(5px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(5px, env(safe-area-inset-left))!important;
  }
  .mobile-nav-btn{
    min-width:0!important;
    padding:6px 1px!important;
    font-size:16px!important;
  }
  .mobile-nav-btn span{
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap;
  }
}

@media (max-width:390px){
  .main{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .topbar h1{
    font-size:25px!important;
  }
  .avatar-img{
    max-width:min(86vw,290px)!important;
    max-height:270px!important;
  }
  .home-card,
  .activities-section,
  .work-timer-card,
  .page-card{
    padding:14px!important;
  }
  .meter-row{
    grid-template-columns:101px minmax(0,1fr) 34px!important;
    gap:6px!important;
  }
  .meter-label{
    font-size:13px!important;
  }
  .meter-value{
    width:34px!important;
    font-size:11px!important;
  }
  .activity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Build 25: mobile activity filters wrap instead of horizontal scrolling */
@media (max-width:850px){
  .filters{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:4px 0 10px!important;
  }

  button.filter-btn{
    width:100%!important;
    min-width:0!important;
    padding:9px 7px!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
}

@media (max-width:430px){
  .filters{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* Build 26: more visual Insights current state */
.current-state-card{
  grid-column:1 / -1;
}
.current-state-card > h3{
  margin-bottom:8px;
}
.state-hero{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:14px;
}
.state-avatar{
  width:100%;
  max-width:160px;
  height:auto;
  display:block;
  margin:0 auto;
}
.state-overview{
  min-width:0;
}
.state-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}
.state-chip,
.demand-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 12px;
  font-size:13px;
  font-weight:700;
}
.state-chip{
  background:#f2eae5;
  color:#2a3b5e;
}
.demand-chip{
  background:#eef1eb;
  color:#4b5d53;
}
.demand-chip.demand-low{ background:#edf6ee; color:#507258; }
.demand-chip.demand-mid{ background:#fbf2df; color:#7a5a20; }
.demand-chip.demand-high{ background:#fae8e6; color:#8a4d46; }

.state-blurb{
  margin:0;
  color:#5e675f;
  line-height:1.55;
}

.state-signal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.state-signal{
  border:1px solid #e6dfd6;
  border-radius:16px;
  background:#fff;
  padding:12px 12px 11px;
}
.state-signal small{
  display:block;
  color:#70786f;
  margin-bottom:6px;
}
.state-signal strong{
  font-size:20px;
  color:#22365c;
}
.state-signal.tone-good{
  background:#f3f8f2;
}
.state-signal.tone-warn{
  background:#fff3ee;
}
.state-signal.tone-soft{
  background:#fbfaf7;
}
.state-signal.tone-demand{
  background:#f6f1ea;
}

.state-ranking{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e9e1d8;
}
.state-ranking h4{
  margin:0 0 4px;
  color:#22365c;
  font-size:16px;
}
.state-ranking p{
  margin:0 0 12px;
}
.state-score-row + .state-score-row{
  margin-top:12px;
}
.state-score-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
  font-size:13px;
  color:#70786f;
}
.state-score-head strong{
  color:#2b3e65;
  font-size:14px;
}
.state-score-bar{
  height:10px;
  background:#ece5dd;
  border-radius:999px;
  overflow:hidden;
}
.state-score-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#97b395,#7d9cab);
}

@media (max-width:850px){
  .current-state-card{
    padding:16px!important;
  }
  .state-hero{
    grid-template-columns:1fr;
    text-align:left;
    gap:12px;
  }
  .state-avatar{
    max-width:150px;
  }
  .state-signal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:430px){
  .state-signal-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .state-score-head{
    flex-direction:column;
    gap:2px;
  }
}

/* Build 27 verification */
.insights-title-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.insights-title-row h2{
  margin:0;
}
.build-check-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:#eaf2e8;
  color:#4e6c55;
  font-size:11px;
  font-weight:700;
}
@media(max-width:520px){
  .build-check-badge{
    font-size:10px;
  }
}


/* Build 29: OneSignal reminder settings */
.push-setting-row{
  align-items:center;
}
.setting-hint{
  display:block;
  margin-top:5px;
  color:var(--muted);
  line-height:1.4;
}
#notificationBtn:disabled{
  opacity:.65;
  cursor:default;
}
@media(max-width:850px){
  .push-setting-row{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #notificationBtn{
    width:100%!important;
    min-height:44px;
  }
}


/* Build 30: OneSignal connection diagnostics */
.push-diagnostics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.push-diagnostics > span{
  background:#f6f2eb;
  border:1px solid #e5ddd3;
  border-radius:12px;
  padding:9px 10px;
  min-width:0;
}
.push-diagnostics small{
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-bottom:3px;
}
.push-diagnostics strong{
  font-size:12px;
}
.push-id-line{
  grid-column:1 / -1;
}
.push-id-line code{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  white-space:normal;
  font-size:10px;
  color:#536158;
}


/* Build 34: Supabase reminder sync status */
.backend-setting-row{
  align-items:center;
}
.backend-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:750;
  background:#eeeae4;
  color:#5f675f;
}
.backend-status-pill.backend-ok{
  background:#e7f2e7;
  color:#4d7055;
}
.backend-status-pill.backend-error{
  background:#fae7e3;
  color:#8b4e48;
}
@media(max-width:850px){
  .backend-setting-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .backend-status-pill{
    justify-self:start;
  }
}
