:root{color-scheme:dark;--bg:#101412;--panel:#1B231E;--raised:#273228;--green:#6FA36A;--gold:#D6B45D;--bronze:#8C6A3E;--text:#ECE8DF;--muted:#B4B0A7;--border:#364238;--danger:#C96A6A;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#18221c 0,#101412 42%);color:var(--text);min-height:100vh}button,input,textarea,select{font:inherit}button{border:1px solid #7d6735;background:var(--gold);color:#17130b;font-weight:800;border-radius:10px;padding:.75rem 1rem;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.55}.login-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(430px,100%);padding:2rem;background:rgba(27,35,30,.96);border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 80px #0008}.sigil{font-size:2.7rem}.stack,.form-grid{display:grid;gap:1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1/-1}label{display:grid;gap:.4rem;color:var(--muted);font-size:.9rem}input,textarea,select{width:100%;background:#101713;border:1px solid var(--border);color:var(--text);border-radius:9px;padding:.72rem}input:focus,textarea:focus,select:focus{outline:2px solid #d6b45d55;border-color:var(--gold)}.checkbox{display:flex;align-items:center}.checkbox input{width:auto}.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:1rem;align-self:start;height:auto;max-height:none;overflow:visible;padding:1rem;background:#0d120f;border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{display:flex;gap:.7rem;align-items:center;padding:.7rem}.brand span{font-size:1.8rem}.brand div{display:grid}.brand small{color:var(--muted)}nav{display:grid;gap:.25rem;margin-top:1.5rem;overflow:visible;max-height:none}nav button,.quiet{background:transparent;border-color:transparent;color:var(--muted);text-align:left}nav button.active{background:var(--raised);color:var(--gold);border-color:var(--border)}.quiet{margin-top:1rem}.workspace{padding:0 2rem 3rem;min-width:0}.workspace>header{height:100px;display:flex;align-items:center;justify-content:space-between}.workspace h1,.workspace h2,.workspace h3{margin:.1rem 0 .5rem}.eyebrow{margin:0;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900}.muted,small{color:var(--muted)}.user-chip,.badge{padding:.45rem .75rem;border:1px solid var(--border);border-radius:999px;color:var(--muted)}.panel{background:linear-gradient(145deg,rgba(39,50,40,.82),rgba(27,35,30,.96));border:1px solid var(--border);border-radius:18px;padding:1.25rem;box-shadow:0 16px 50px #0003}.hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.big{font-size:2.5rem;color:var(--gold)}.tracker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.tracker-card{display:grid;text-align:left;background:#111914;color:var(--text);border-color:var(--border);min-height:88px}.tracker-card span{color:var(--muted);font-size:.78rem}.entry-panel{margin-top:1rem}.section-head{display:flex;justify-content:space-between;align-items:center}.record-list{display:grid;gap:.6rem;margin-top:1rem}.record-list article{display:grid;gap:.25rem;padding:.85rem;background:#111914;border:1px solid var(--border);border-radius:10px}.split-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(360px,1.2fr);gap:1rem}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0}.summary-grid div{display:grid;padding:.8rem;background:#111914;border:1px solid var(--border);border-radius:10px}.summary-grid strong{font-size:1.35rem;color:var(--gold)}.summary-grid span{color:var(--muted);font-size:.8rem}.log{white-space:pre-wrap;background:#080b09;border:1px solid var(--border);padding:1rem;border-radius:10px;max-height:360px;overflow:auto}.error{color:var(--danger)}.empty{text-align:center;padding:4rem 2rem}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.workspace{padding:0 1rem 2rem}.dashboard-grid,.split-grid{grid-template-columns:1fr}.tracker-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.form-grid,.tracker-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start;gap:1rem;flex-direction:column}.user-chip{display:none}}
.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.secondary{background:#111914;color:var(--text);border-color:var(--border)}.icon-button{padding:.35rem .65rem;min-width:38px}.context-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.action-grid{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.fab{position:fixed;right:1.6rem;bottom:1.6rem;width:58px;height:58px;border-radius:50%;font-size:1.8rem;line-height:1;padding:0;box-shadow:0 12px 35px #0008;z-index:30}.modal-backdrop{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:1rem;z-index:50;backdrop-filter:blur(4px)}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:linear-gradient(145deg,#273228,#1B231E);border:1px solid var(--border);border-radius:20px;padding:1.25rem;box-shadow:0 24px 90px #000b}.close-button{background:transparent;color:var(--muted);border-color:transparent;font-size:1.7rem;padding:.2rem .55rem}.quick-create{width:min(460px,100%)}.quick-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.quick-list button{text-align:left;min-height:58px}.companion-hero{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}.companion-mark{font-size:3rem;background:#111914;border:1px solid var(--border);border-radius:18px;padding:1rem}@media(max-width:850px){.context-actions{align-items:flex-start;flex-direction:column}.action-grid{justify-content:flex-start}.fab{right:1rem;bottom:1rem}}@media(max-width:560px){.quick-list{grid-template-columns:1fr}.button-row{width:100%}.button-row button{flex:1}.companion-hero{grid-template-columns:1fr}.modal-card{padding:1rem}}

/* ThreadKeepr environments ------------------------------------------------ */
.nav-label{margin:1.5rem .7rem .35rem;color:#768079;font-size:.68rem;font-weight:900;letter-spacing:.18em}.utility-nav{display:grid;gap:.2rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.enter-work{display:grid;gap:.18rem;margin:1.25rem 0;background:#171b20;color:#b8c8d8;border:1px solid #394551;border-radius:4px;text-align:left;letter-spacing:.08em}.enter-work small{font-size:.68rem;color:#748596;letter-spacing:.12em}.return-web{margin-top:auto;background:transparent;color:#8ee0c0;border:1px solid #2f5d52;border-radius:2px}.work-status{display:flex;align-items:center;gap:.5rem;margin:1.3rem .45rem .5rem;color:#79f2c0;font:700 .66rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.work-status i{width:7px;height:7px;border-radius:50%;background:#79f2c0;box-shadow:0 0 10px #79f2c0}.work-nav button{border-radius:2px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.planet-transition{position:fixed;inset:0;z-index:999;display:grid;place-content:center;text-align:center;background:#080b0e;color:#8df0c6;animation:planetVeil .65s ease both;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em}.planet-transition span{font-size:.7rem}.planet-transition strong{font-size:clamp(1.6rem,6vw,4rem);margin-top:.5rem}@keyframes planetVeil{0%{opacity:0}25%{opacity:1}70%{opacity:1}100%{opacity:0;pointer-events:none}}

body.work-mode{--bg:#090c0f;--panel:#11171c;--raised:#182128;--green:#52d6aa;--gold:#7be4ff;--bronze:#50697c;--text:#dce8ee;--muted:#82929d;--border:#293640;--danger:#ff6b78;background:linear-gradient(135deg,#080b0e 0%,#10171c 52%,#080b0e 100%);font-family:"Arial Narrow",Roboto,Inter,system-ui,sans-serif}body.work-mode:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(#2d404c 1px,transparent 1px),linear-gradient(90deg,#2d404c 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.work-shell .sidebar{background:#080c0f;border-right:1px solid #33434f}.work-shell .brand{border-bottom:1px solid #27343d;padding-bottom:1rem}.work-shell .brand span{color:#7be4ff;font-family:monospace}.work-shell .brand strong{letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.work-shell .workspace>header{border-bottom:1px solid #27343d;height:84px}.work-shell .workspace h1{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.09em}.work-shell .panel,.work-shell .modal-card{border-radius:2px;background:#11171c;box-shadow:8px 8px 0 #050709}.work-shell button{border-radius:2px;background:#7be4ff;border-color:#7be4ff;color:#071014;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.work-shell .secondary{background:#121a20;color:#a9c2cf;border-color:#405563}.work-shell input,.work-shell textarea,.work-shell select{border-radius:1px;background:#080d11;border-color:#344650;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.work-shell .fab{border-radius:3px;transform:rotate(45deg)}.work-shell .fab::first-letter{transform:rotate(-45deg)}
.work-command{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding:1.5rem 0 1rem;border-bottom:2px solid #3c5260}.work-command h2{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.04em;text-transform:uppercase}.work-command p{max-width:680px;color:#8496a1}.work-clock{display:grid;text-align:right;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.work-clock span{font-size:.62rem;letter-spacing:.16em;color:#79f2c0}.work-clock strong{font-size:2rem;color:#dce8ee}.work-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#34434d;border:1px solid #34434d;margin:1.25rem 0}.work-metrics article{display:grid;gap:.25rem;padding:1rem;background:#0e1418}.work-metrics span,.work-module header span{font:800 .62rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;color:#79f2c0}.work-metrics strong{font:800 2rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#7be4ff}.work-metrics small{font-size:.72rem}.work-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.2rem}.work-actions button{min-height:50px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.work-module{background:#10161a;border:1px solid #33434d;box-shadow:7px 7px 0 #050709;padding:1rem}.work-module header{border-bottom:1px solid #33434d;padding-bottom:.7rem}.work-module h3{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.work-module .record-list article{border-radius:0;background:#0a0f12;border-left:3px solid #587281}.work-shell .eyebrow{color:#79f2c0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:850px){.work-metrics{grid-template-columns:repeat(2,1fr)}.work-actions{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:1fr}.work-command{align-items:flex-start;flex-direction:column}.work-clock{text-align:left}}
@media(max-width:560px){.work-metrics,.work-actions{grid-template-columns:1fr}.work-shell .workspace{padding-inline:.8rem}}

/* My Web: sectioned, familiar navigation -------------------------------- */
.web-nav{display:grid;gap:1rem;margin-top:1.25rem;overflow:auto;padding-right:.25rem}
.nav-section{display:grid;gap:.35rem}
.nav-group{display:flex;align-items:center;gap:.45rem;margin:0;padding:.25rem .65rem .45rem;border-bottom:1px solid var(--border);color:#9fbea7;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nav-group span{font-size:.72rem}
.nav-items{display:grid;gap:.15rem}
.nav-items button{display:grid;grid-template-columns:1.3rem 1fr auto;align-items:center;gap:.45rem;width:100%;padding:.56rem .7rem;background:transparent;border-color:transparent;color:var(--text);text-align:left;border-radius:10px;font-weight:750}
.nav-items button>span{opacity:.95;text-align:center}
.nav-items button:hover{background:#243128}
.nav-items button.active{background:#365140;color:#74c987;border-color:#8bb99a;box-shadow:inset 0 0 0 1px #ffffff12}
.nav-count{min-width:1.45rem;padding:.12rem .38rem;border-radius:999px;background:#f5ebc8;color:#4a432d;text-align:center;font-size:.64rem;font-weight:900}
.nav-status{min-width:auto;padding:.18rem .48rem;white-space:nowrap;font-size:.6rem;letter-spacing:.01em}
.nav-status.attention{background:#f6d7cf;color:#873b2d}
.nav-status.complete{background:#d8f0dc;color:#28633a}
.nav-status.clear{background:#e2eadf;color:#52644f}
.nav-status.empty{background:#e6e2d8;color:#6c675c}
.web-shell .sidebar{width:auto;padding:1.1rem .85rem}
.web-shell .brand{padding:.25rem .4rem .8rem}
.web-shell .enter-work{margin-top:1rem}
.web-shell .utility-nav{margin-top:.5rem}

/* The Spider Shrine ------------------------------------------------------ */
.shrine-room{position:relative;overflow:hidden;min-height:560px;padding:clamp(1.5rem,4vw,3rem);text-align:center;background:radial-gradient(circle at 50% 15%,#3c4630 0,#263126 28%,#18211c 68%,#111713 100%)}
.shrine-room:before,.shrine-room:after{content:"";position:absolute;inset:-20%;pointer-events:none;background:repeating-radial-gradient(circle at 50% 18%,transparent 0 48px,#d6b45d12 49px 50px);opacity:.8}
.shrine-room:after{transform:rotate(32deg);background:repeating-conic-gradient(from 0deg at 50% 18%,transparent 0deg 14deg,#d6b45d10 14.5deg 15deg)}
.shrine-room>*{position:relative;z-index:1}
.shrine-sigil{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1rem;border:1px solid #d6b45d55;border-radius:50%;background:#0d120f99;box-shadow:0 0 45px #d6b45d20;font-size:2.25rem}
.shrine-room h2{font-size:clamp(2rem,5vw,3.5rem);color:#ece8df}
.shrine-intro{max-width:620px;margin:.5rem auto 2rem;color:#bbb6a9;line-height:1.65}
.shrine-threads{display:grid;gap:.8rem;max-width:760px;margin:2rem auto 0;text-align:left}
.shrine-threads article{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem 1.15rem;border:1px solid #d6b45d44;border-radius:14px;background:#101612cc;box-shadow:0 12px 30px #0004}
.shrine-threads article>span{color:#d6b45d;font-size:1.3rem}
.shrine-threads p{margin:.25rem 0 0;color:#aaa697}
.shrine-quiet{display:grid;justify-items:center;gap:.45rem;max-width:520px;margin:3rem auto 0;padding:2rem;border:1px dashed #d6b45d44;border-radius:18px;background:#0e140faa}
.shrine-quiet>span{font-size:2.5rem;opacity:.65}
.shrine-quiet p{margin:.25rem 0 0;color:#aaa697;line-height:1.6}

@media(max-width:850px){
  .web-nav{max-height:none}
  .nav-section{min-width:0}
  .web-shell .sidebar{padding:.8rem}
}

/* Legacy soul: familiar panels backed by the connected web ---------------- */
.legacy-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:clamp(1rem,3vw,1.4rem);box-shadow:0 14px 40px #0005}.legacy-panel>h2{font-size:1.55rem;margin:0 0 1rem}.legacy-panel>h3{margin:1.6rem 0 .8rem}.legacy-add{margin-bottom:1rem;border:1px solid var(--border);border-radius:12px;background:var(--raised);overflow:hidden}.legacy-add summary{padding:1rem;cursor:pointer;font-weight:900;font-size:1.05rem;list-style:none}.legacy-add summary::-webkit-details-marker{display:none}.legacy-add summary:before{content:'▶';display:inline-block;margin-right:.65rem;font-size:.7rem;transition:transform .15s}.legacy-add[open] summary:before{transform:rotate(90deg)}.legacy-add[open] summary{border-bottom:1px solid var(--border)}.legacy-form{display:grid;gap:.8rem;padding:1rem}.legacy-form.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-form label{display:grid;gap:.35rem;font-weight:800}.legacy-form .full{grid-column:1/-1}.legacy-form button{grid-column:1/-1}.check-line,.include-dismissed{display:flex!important;align-items:center;gap:.55rem;padding:.8rem 0}.check-line input,.include-dismissed input{width:auto}.legacy-list,.goal-list,.reward-list{display:grid;gap:.75rem}.legacy-list article,.goal-card,.reward-list article{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--raised)}.legacy-list article strong,.goal-card strong,.reward-list article strong{font-size:1.05rem}.legacy-list article small,.goal-card small{color:var(--muted)}.upcoming-list article b{font-weight:500}.reminder-card{align-items:start}.due-chip{justify-self:start;margin-top:.25rem;padding:.22rem .58rem;border-radius:999px;font-size:.72rem;font-weight:900}.due-chip.overdue{background:#ffd8dc;color:#8f1720}.due-chip.today{background:#d9f7df;color:#145f2a}.due-chip.soon{background:#fff1bd;color:#795b00}.due-chip.upcoming{background:#dce9f8;color:#24456d}.mini-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.45rem}.pale{width:auto!important;background:#e7eef7!important;color:#29415f!important;border-color:#e7eef7!important;padding:.55rem .75rem!important;font-size:.82rem!important}.wide-search{margin:.8rem 0}.carousel-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1rem 0}.sticky-note-card{min-height:235px;padding:1.25rem;border:1px solid var(--border);border-left:5px solid #8b5cf6;border-radius:14px;background:var(--raised);display:grid;align-content:start;gap:.55rem;box-shadow:var(--shadow)}.sticky-note-card p{font-size:1.05rem;line-height:1.55;white-space:pre-wrap}.sticky-note-card.quick-note-idea{border-left-color:#fbbf24;background:#4a421f}.sticky-note-card.quick-note-reminder{border-left-color:#ef4444;background:#45272a}.sticky-note-card.quick-note-project{border-left-color:#3b82f6;background:#253b4a}.sticky-note-card.quick-note-observation{border-left-color:#10b981;background:#23443a}.sticky-note-card.quick-note-personal{border-left-color:#ec4899;background:#43283a}.goal-card{border-left:5px solid #94a3b8}.goal-money{border-left-color:#22c55e}.goal-work{border-left-color:#6366f1}.goal-health{border-left-color:#ef4444}.goal-fitness{border-left-color:#3b82f6}.goal-home{border-left-color:#f97316}.goal-creative{border-left-color:#ec4899}.goal-learning{border-left-color:#8b5cf6}.goal-social{border-left-color:#06b6d4}.goal-progress-wrap{height:16px;border-radius:999px;background:#e4e9ef;overflow:hidden;margin:.5rem 0}.goal-progress-wrap i{display:block;height:100%;border-radius:999px;background:var(--green)}.points-banner{padding:1rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:12px;background:var(--raised);font-size:1.05rem;font-weight:900}.reward-list article{grid-template-columns:1fr auto;align-items:center}.reward-list article span{grid-column:2;grid-row:1;padding:.25rem .5rem;border-radius:999px;background:#223027;font-size:.72rem;font-weight:900}.reward-list article button{grid-column:1/-1;justify-self:start;width:auto}.spider-shrine-card{background:linear-gradient(145deg,#24182d,#35223f);border:1px solid #ffffff15;border-radius:18px;padding:clamp(1rem,3vw,1.5rem);color:#f4edff}.spider-shrine-card h2{margin:0 0 1rem}.spider-label{text-transform:uppercase;letter-spacing:.08em;color:#ccbaf3;font-size:.78rem}.favor-number{font-size:1.7rem}.spider-progress-bar{height:14px;border-radius:999px;background:#ffffff18;overflow:hidden;margin:.65rem 0 1.5rem}.spider-progress-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#c084fc)}.spider-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:center;margin:1.3rem 0}.spider-stat-grid strong{display:block;font-size:2.3rem}.spider-stat-grid span{color:#ddd0e7}.offering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.offering-grid article{display:grid;align-content:start;gap:.35rem;padding:.85rem;border:1px solid #ffffff18;border-radius:13px;background:#ffffff09}.offering-grid small{color:#ddd0e7}.offering-grid em{font-size:.82rem;color:#eadcf6}.offering-grid button{justify-self:start;margin-top:.3rem}.spider-title{text-align:center;margin:2rem 0 .6rem;color:#ffe478;text-transform:uppercase;letter-spacing:.05em}.spider-message{text-align:center;font-style:italic;color:#eadcf6}
@media(max-width:650px){.legacy-form.two-col,.offering-grid{grid-template-columns:1fr}.reward-list article{grid-template-columns:1fr}.reward-list article span{grid-column:1;grid-row:auto;justify-self:start}.spider-stat-grid strong{font-size:1.8rem}}

/* =========================
   DAILY CHECK-IN
   Capture only: no history or dashboard on this screen.
   ========================= */
.daily-checkin-panel{
  max-width:720px;
}
.daily-checkin-panel>h2{
  margin-bottom:1.1rem;
}
.daily-checkin-form{
  display:grid;
  gap:1rem;
}
.daily-checkin-form>label{
  display:grid;
  gap:.45rem;
  font-weight:900;
}
.daily-checkin-form input[type="text"],
.daily-checkin-form input[type="date"],
.daily-checkin-form textarea{
  width:100%;
}
.daily-range-field{
  padding:.15rem 0 .35rem;
}
.daily-range-field>span{
  display:block;
}
.daily-range-field input[type="range"]{
  width:100%;
  padding:0;
  accent-color:#2588f5;
  cursor:pointer;
}
.daily-range-field input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  border-radius:999px;
  background:#e7ebec;
}
.daily-range-field input[type="range"]::-webkit-slider-thumb{
  margin-top:-5px;
}
.daily-checkin-form textarea{
  min-height:100px;
}
.daily-checkin-form button{
  width:100%;
  min-height:50px;
  margin-top:.15rem;
  background:var(--green);
  color:white;
  font-size:1rem;
  font-weight:900;
}
.daily-checkin-form button:disabled{
  opacity:.65;
  cursor:wait;
}
.optional-label{
  color:var(--muted);
  font-weight:700;
}
.daily-save-status{
  min-height:1.4rem;
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.daily-save-status.error{
  color:#ffb4b4;
}

/* =========================
   PLANTS TO WATER
   Action-first: only due plants appear above management.
   ========================= */
.plants-panel{max-width:760px}
.plants-panel>h2{margin-bottom:1.25rem}
.plant-main-button{width:100%;min-height:48px;margin:0 0 .8rem;background:var(--green);border-color:var(--green);color:white;font-size:1rem;font-weight:900}
.plant-main-button:disabled{opacity:.55;cursor:not-allowed}
.plant-save-status{min-height:1.35rem;margin:.15rem 0 .55rem;color:var(--muted);font-weight:800}
.plant-save-status.error{color:#ffb4b4}
.plants-due-list{display:grid;gap:.75rem;margin-bottom:1.25rem}
.plant-due-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;margin:0;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--raised);cursor:pointer}
.plant-due-card:has(input:checked){border-color:var(--green);background:#365140;box-shadow:0 0 0 1px #79c88d44}
.plant-due-card input{width:24px;height:24px;margin:0;accent-color:var(--green)}
.plant-due-copy{display:grid;gap:.2rem}
.plant-due-copy strong{font-size:1.05rem}
.plant-due-copy small{color:var(--muted)}
.plants-clear-state{padding:1.2rem;border-radius:14px;background:#d7f5df;color:#165f2e;text-align:center;font-size:1.08rem;font-weight:900}
.manage-plants{margin-top:1rem}
.managed-plant-list{display:grid;gap:.65rem;padding:0 1rem 1rem}
.managed-plant-list article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.managed-plant-list article>div{display:grid;gap:.15rem}
.managed-plant-list small{color:var(--muted)}
@media(max-width:650px){.managed-plant-list article{grid-template-columns:1fr}.managed-plant-list .pale{justify-self:start}}

/* =========================
   PLANT PICTURES
   ========================= */
.plant-due-card{grid-template-columns:auto 76px 1fr}
.plant-due-photo,.plant-photo-thumb,.plant-edit-photo{object-fit:cover;border:1px solid var(--border);background:var(--panel);overflow:hidden}
.plant-due-photo{width:76px;height:76px;border-radius:14px}
.plant-photo-thumb{width:58px;height:58px;border-radius:12px}
.plant-photo-placeholder{display:grid;place-items:center;font-size:1.8rem}
.managed-plant-list article{grid-template-columns:58px 1fr auto}
.plant-photo-editor{display:grid;gap:.65rem}
.plant-edit-photo{width:150px;height:150px;border-radius:16px}
.plant-photo-editor small{color:var(--muted);font-weight:normal}
@media(max-width:650px){
  .plant-due-card{grid-template-columns:auto 64px 1fr}
  .plant-due-photo{width:64px;height:64px}
  .managed-plant-list article{grid-template-columns:58px 1fr}
  .managed-plant-list article .pale{grid-column:2}
}

/* =========================
   RITUAL NAV STATUS
   ========================= */
.ritual-status {
  min-width: 30px;
  text-align: center;
  font-size: 15px;
}

/* =========================
   SHOWER RITUAL
   ========================= */
.shower-panel { max-width: 760px; }
.shower-button {
  width: 100%;
  min-height: 58px;
  margin-top: 26px;
  border: 0;
  border-radius: 14px;
  background: var(--green);
  color: white;
  font-size: 19px;
  font-weight: 900;
  cursor: pointer;
}
.shower-button.complete { opacity: .92; cursor: default; }
.shower-history-add { margin-top: 22px; }

/* =========================
   GREMLINS / DAILY TASKS
   ========================= */
.gremlin-panel { max-width: 980px; }
.gremlin-report {
  margin: 22px 0;
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--card-soft);
}
.gremlin-report strong { display:block; font-size:20px; }
.gremlin-report p { margin:6px 0; }
.gremlin-report small { color:var(--muted); }
.wide-action {
  width:100%;
  margin-bottom: 22px;
  padding: 15px;
  border:0;
  border-radius:14px;
  background:var(--green);
  color:white;
  font-size:18px;
  font-weight:900;
}
.gremlin-category { margin: 22px 0 30px; }
.gremlin-category h3 { color:var(--muted); margin:0 0 10px; }
.gremlin-panel .chore-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.gremlin-panel .chore-tile {
  min-height: 180px;
  padding:14px;
  border-radius:16px;
  background:var(--card-soft);
  color:var(--text);
}
.gremlin-panel .chore-must { border:2px solid #ef4444; background:rgba(185,60,60,.28); }
.gremlin-panel .chore-should { border:2px solid #f59e0b; background:rgba(190,140,40,.28); }
.gremlin-panel .chore-optional { border:2px solid #5ca56d; background:rgba(70,150,90,.24); }
.chore-select { display:flex; gap:10px; align-items:flex-start; margin:0; font-size:18px; font-weight:900; }
.chore-select input { width:auto; margin-top:5px; }
.gremlin-panel .chore-tile small { display:block; margin-top:10px; color:#dce8d8; line-height:1.35; }
.gremlin-hide,.gremlin-edit {
  width:100%;
  margin-top:10px;
  padding:9px 10px;
  border:0;
  border-radius:10px;
  background:#dfe7f2;
  color:#172033;
  font-weight:800;
  cursor:pointer;
}
.gremlin-edit { background:rgba(255,255,255,.10); color:var(--text); border:1px solid var(--border); }
.gremlin-clear {
  padding:20px;
  border-radius:16px;
  background:#dcfce7;
  color:#166534;
  font-size:18px;
  font-weight:900;
  text-align:center;
}
@media (max-width:700px){
  .gremlin-panel .chore-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:440px){
  .gremlin-panel .chore-grid { grid-template-columns:1fr; }
}

/* POINT LEDGER */
.points-settings { display:grid; gap:16px; }
.points-settings .metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.points-settings .metric-card { display:flex; flex-direction:column; gap:4px; }
.points-settings .metric-card strong { font-size:1.75rem; color:var(--gold); }
.points-settings .metric-card span { color:var(--muted); font-size:.85rem; }
@media (max-width:700px){ .points-settings .metric-grid{grid-template-columns:1fr;} }


/* =========================
   BODY CAPTURE RITUALS
   Weight, vitals, and sleep are capture-only screens.
   ========================= */
.body-ritual-panel{max-width:720px}
.body-ritual-panel>h2{margin-bottom:1.2rem}
.body-ritual-form{display:grid;gap:1rem}
.body-ritual-form>label,.body-ritual-form fieldset{display:grid;gap:.45rem;font-weight:900}
.body-ritual-form fieldset{border:0;padding:0;margin:0}
.body-ritual-form legend{margin-bottom:.45rem}
.body-ritual-form input,.body-ritual-form textarea,.body-ritual-form select{background:#eef5ec;color:#172033;border-color:rgba(200,230,200,.25);font-size:1rem}
.body-ritual-form textarea{min-height:100px}
.body-ritual-form>button,.nested-ritual-form>button{width:100%;min-height:50px;background:var(--green);border-color:var(--green);color:white;font-weight:900}
.blood-pressure-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ritual-history-add,.night-terror-section{margin-top:.35rem;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035);overflow:hidden}
.ritual-history-add summary,.night-terror-section summary{padding:1rem;cursor:pointer;font-weight:900}
.ritual-history-add[open]{padding:0 1rem 1rem}
.ritual-history-add[open] summary{margin:0 -1rem .8rem}
.ritual-save-status{min-height:1.35rem;margin:0;color:var(--muted);font-weight:800}
.ritual-save-status.error{color:#ffb4b4}
.night-terror-section{margin-top:1.1rem}
.nested-ritual-form{padding:0 1rem 1rem}
@media(max-width:560px){.blood-pressure-grid{grid-template-columns:1fr}}

/* Collapsible My Web navigation ----------------------------------------- */
.nav-group{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.45rem;
  margin:0;
  padding:.58rem .65rem;
  border:0;
  border-bottom:1px solid var(--border);
  border-radius:10px 10px 0 0;
  background:transparent;
  color:#9fbea7;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:left;
  cursor:pointer;
  transition:background .14s ease, color .14s ease, transform .08s ease;
}
.nav-group:hover{background:#243128;color:#c5dec9}
.nav-group:active{transform:translateY(1px) scale(.99);background:#2d3b31}
.nav-group-icon{font-size:.72rem}
.nav-chevron{font-size:.9rem;transition:transform .16s ease}
.nav-section.open .nav-chevron{transform:rotate(90deg)}
.nav-section:not(.open){gap:0}
.nav-items[hidden]{display:none!important}
.nav-section.open .nav-items{padding-top:.25rem}


/* Medication and symptom capture panels */
button:active{transform:translateY(1px) scale(.985)}
button.is-working{filter:saturate(.75);cursor:wait}
button.is-complete{background:var(--green);border-color:var(--green);color:white}
.medication-panel,.symptoms-panel{max-width:760px}
.medication-panel>h3{margin:.25rem 0 1rem}
.medication-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}
.medication-quick-grid button{min-height:52px;border-radius:999px;background:var(--raised);border-color:var(--border);color:var(--text);font-size:1.05rem}

.shot-due-note{padding:.75rem 1rem;border:1px solid #d6b45d66;border-radius:12px;background:#d6b45d18;color:#f1d98f;font-weight:800}
.manage-record-list,.recent-symptom-list{display:grid;gap:.55rem;padding:0 1rem 1rem}
.manage-record-list article,.recent-symptom-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}
.manage-record-list article div,.recent-symptom-list article{display:grid}
.manage-record-list small,.recent-symptom-list small{display:block}
.symptom-log-form{display:grid;gap:1rem}
.symptom-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.symptom-pick-card{display:grid;grid-template-columns:1fr 115px;align-items:center;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:14px;background:var(--raised);transition:background .15s,border-color .15s,box-shadow .15s}
.symptom-pick-card div{display:grid;gap:.25rem}
.symptom-pick-card strong{font-size:1.05rem}
.symptom-pick-card.active{background:rgba(111,163,106,.22);border-color:rgba(111,163,106,.7);box-shadow:0 0 0 2px rgba(111,163,106,.08)}
.symptom-pick-card select{margin:0;background:#eef5ec;color:#172033}
.symptom-log-form>label{display:grid;gap:.45rem;font-weight:900}
.symptom-log-form textarea{min-height:100px;background:#eef5ec;color:#172033}
.symptom-log-form>button{width:100%;min-height:50px;background:var(--green);border-color:var(--green);color:white}
.recent-symptom-logs{margin-top:1rem}
@media(max-width:620px){.medication-quick-grid,.symptom-picker-grid{grid-template-columns:1fr}.symptom-pick-card{grid-template-columns:1fr 105px}}

/* One-open-at-a-time My Web accordion ---------------------------------- */
.web-nav{display:grid;gap:.15rem;margin-top:1rem}
.nav-section{display:grid;gap:0}
.nav-section.open{gap:.2rem}
.nav-section.open .nav-group{background:rgba(111,163,106,.08);color:#bfe2c5}
.nav-items{display:grid;gap:.18rem;padding:.15rem 0 .35rem}
.nav-items button{min-height:38px;padding:.55rem .7rem .55rem 1rem;border-radius:9px}
.enter-work{margin:.85rem 0 .65rem;padding:.75rem .9rem}
.enter-work span{font-size:.9rem;line-height:1.15}
.utility-nav{margin-top:.35rem;padding-top:.75rem}
.utility-nav button{padding:.65rem .8rem}
.sidebar>.quiet{margin-top:.35rem;padding:.6rem .8rem}

/* Monthly Important Dates calendar */
.calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:18px 0 10px}.calendar-toolbar h3{text-align:center;margin:0}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays b{text-align:center;color:var(--muted);font-size:12px;padding:8px 2px}.calendar-day{min-height:105px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--card-soft);color:var(--text);text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer}.calendar-day:active{transform:translateY(2px) scale(.99)}.calendar-day.empty{background:transparent;border-color:transparent;cursor:default}.calendar-day.today{border:2px solid var(--green)}.calendar-number{font-weight:900}.calendar-day small{display:block;padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.07);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day em{font-size:11px;color:var(--muted)}.calendar-details{margin-top:16px;padding:16px;border-radius:14px;background:var(--card-soft)}.calendar-details article{padding:10px 0;border-bottom:1px solid var(--border)}.calendar-details article:last-child{border-bottom:0}.calendar-details small{display:block;color:var(--muted);margin-top:4px}
/* Exercise ritual */
.exercise-assignment{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--card-soft);margin-bottom:16px}.exercise-assignment strong{font-size:18px}.exercise-assignment p{margin:6px 0 34px}.exercise-assignment small{color:var(--muted)}.ritual-complete-banner{padding:18px;border-radius:14px;background:rgba(121,200,141,.2);border:1px solid rgba(121,200,141,.45);font-weight:900}
/* Medical home */
.medical-home{display:grid;gap:16px}.medical-section{padding:16px;border-radius:14px;background:var(--card-soft);border:1px solid var(--border)}.medical-section h3{margin:0}.medical-list{display:grid;gap:10px;margin-top:12px}.medical-list article{padding:12px;border-radius:12px;background:rgba(255,255,255,.05)}.medical-list small{display:block;color:var(--muted);margin-top:4px}.medical-inline{margin-top:16px;padding:18px;border-radius:14px;background:var(--card-soft);border:1px solid var(--border)}
@media(max-width:700px){.calendar-day{min-height:78px;padding:5px}.calendar-day small{font-size:10px;padding:2px 3px}.calendar-weekdays,.month-grid{gap:4px}}

/* Overview is intentionally quiet until its final contents are chosen. */
.overview-quiet {
  padding: 14px;
}
.overview-moment-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.overview-moment-buttons button {
  min-height: 62px;
  border-radius: 16px;
  font-size: 19px;
  font-weight: 900;
  transition: transform .08s ease, filter .12s ease, background .12s ease;
}
.overview-moment-buttons button:active {
  transform: translateY(2px) scale(.985);
  filter: brightness(.92);
}
.rough-weather-launch {
  color: var(--text);
  background: rgba(72,105,125,.24);
  border: 1px solid rgba(150,190,215,.42);
}
.sunny-meadow-launch {
  color: var(--text);
  background: rgba(251,191,36,.22);
  border: 1px solid rgba(251,191,36,.55);
}
@media (max-width:700px){
  .overview-moment-buttons{grid-template-columns:1fr;}
}
