:root{
  --paper:#FBFAF7; --surface:#FFFFFF; --surface2:#F2F6F3; --sunk:#E4EDE7;
  --ink:#16221D; --body:#3C4A44; --muted:#7C8983;
  --line:#E4E8E4; --hair:#EDF2EE;
  --green:#1B5E43; --green2:#2E9E6B; --greenDeep:#213E31; --greenLit:#8FDCB9;
  --greenSoft:#EAF3EE; --greenEdge:#B9CBC1;
  --amber:#B8912A; --amberSoft:#FDF6E3; --amberEdge:#E3C88E;
  --red:#B4462F; --redSoft:#FBEFEC; --blue:#3A6EA5; --blueSoft:#EAF1F9;
  --shell:#D5DDD8; --shellIn:#A9BDB2;
  --shadow:0 1px 2px rgba(22,34,29,.05), 0 8px 24px rgba(22,34,29,.06);
  --ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --paper:#0E1613; --surface:#161F1B; --surface2:#1C2823; --sunk:#131C18;
  --ink:#EAEFEB; --body:#B4C1BA; --muted:#8A978F;
  --line:#26332D; --hair:#1F2A25;
  --green:#4E9E75; --green2:#7FD3AC; --greenDeep:#17322A; --greenLit:#8FDCB9;
  --greenSoft:#17302A; --greenEdge:#2C4E41;
  --amber:#D3AC4B; --amberSoft:#2C2617; --amberEdge:#4D4126;
  --red:#D2664D; --redSoft:#31211C; --blue:#8DB4E2; --blueSoft:#1C2836;
  --shell:#0A100E; --shellIn:#1E2A25;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0E1613; --surface:#161F1B; --surface2:#1C2823; --sunk:#131C18;
  --ink:#EAEFEB; --body:#B4C1BA; --muted:#8A978F;
  --line:#26332D; --hair:#1F2A25;
  --green:#4E9E75; --green2:#7FD3AC; --greenDeep:#17322A; --greenLit:#8FDCB9;
  --greenSoft:#17302A; --greenEdge:#2C4E41;
  --amber:#D3AC4B; --amberSoft:#2C2617; --amberEdge:#4D4126;
  --red:#D2664D; --redSoft:#31211C; --blue:#8DB4E2; --blueSoft:#1C2836;
  --shell:#0A100E; --shellIn:#1E2A25;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--shell);color:var(--body);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0;text-align:left}
:focus-visible{outline:2px solid var(--green2);outline-offset:2px;border-radius:4px}

.stage{height:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}
.frame{width:100%;max-width:430px;height:100%;background:var(--paper);display:flex;flex-direction:column;position:relative;overflow:hidden}
.stagecap{display:none}
@media (min-width:900px){
  :root.phoneview .stage{padding-block:26px;gap:14px}
  :root.phoneview .frame{height:min(880px,calc(100vh - 92px));border-radius:38px;box-shadow:0 0 0 10px var(--shellIn),0 0 0 11px rgba(0,0,0,.25),0 30px 70px rgba(0,0,0,.35)}
  :root.phoneview .stagecap{display:block;color:var(--muted);font-size:12px;letter-spacing:.09em;text-transform:uppercase}
}

.bar{flex:0 0 auto;background:var(--surface);border-bottom:1px solid var(--hair);padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;position:relative;z-index:5}
.mark{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--green);font-size:13.5px;letter-spacing:-.01em}
.mark svg{width:14px;height:14px;display:block}
.bar h1{margin:0;font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);font-variant-numeric:tabular-nums;border:1px solid var(--hair);white-space:nowrap}
.chip.on{background:var(--greenSoft);color:var(--green);border-color:var(--greenEdge)}
.iconbtn{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--muted);flex:0 0 auto}
.iconbtn:hover{background:var(--surface2);color:var(--ink)}
.iconbtn svg{width:17px;height:17px}

.scroll{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.screen{padding:16px 16px 26px;display:flex;flex-direction:column;gap:14px}
.screen[hidden]{display:none!important}

.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.dayline{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.dayline b{font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1.1}
.dayline span{font-size:13px;color:var(--muted)}
h2.sec{margin:0;font-size:13px;font-weight:700;color:var(--ink)}
.sub{font-size:12.5px;color:var(--muted);margin:0}
.rowhead{display:flex;align-items:center;gap:8px}
.rowhead .sp{flex:1}

.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:11px}
.card.flat{background:var(--surface2);border-color:transparent}
.card.lift{box-shadow:var(--shadow)}
.goalcard{background:var(--greenDeep);border:0;border-radius:14px;padding:17px 16px 15px;display:flex;flex-direction:column;gap:7px;position:relative;overflow:hidden}
.goalcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber)}
.goalcard .eyebrow{color:rgba(234,243,238,.62)}
.goalcard p{margin:0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.38;color:#fff;letter-spacing:.004em}
.goalcard .meta{font-size:11.5px;color:rgba(234,243,238,.72);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;flex:0 0 auto}
.serif{margin:0;font-family:var(--serif);font-style:italic;color:var(--ink);line-height:1.42}

.tipbox{background:var(--amberSoft);border:1px solid var(--amberEdge);border-left:3px solid var(--amber);border-radius:10px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}
.tipbox .eyebrow{color:var(--amber)}
.tipbox p{margin:0;color:var(--ink);font-size:14px}

.steps{display:flex;flex-direction:column;gap:2px}
.step{display:flex;gap:11px;align-items:flex-start;padding:9px 2px;border-bottom:1px solid var(--hair)}
.step:last-child{border-bottom:0}
.box{flex:0 0 auto;width:21px;height:21px;border:1.6px solid var(--line);border-radius:6px;display:grid;place-items:center;margin-top:1px;background:var(--surface);transition:background .14s,border-color .14s}
.box svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity .14s,transform .14s}
.step.done .box{background:var(--green);border-color:var(--green)}
.step.done .box svg{opacity:1;transform:scale(1)}
.step .txt{flex:1;font-size:14.5px;color:var(--ink);line-height:1.4}
.step.done .txt{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--greenEdge)}
.step .when{font-size:11.5px;color:var(--muted);display:block;margin-top:2px}
.step .kill{color:var(--muted);font-size:17px;line-height:1;padding:2px 4px;opacity:.5}
.step .kill:hover{opacity:1;color:var(--red)}
.addrow{display:flex;gap:8px;align-items:center;padding-top:4px}
.addrow input{flex:1;background:var(--surface2);border:1px solid var(--hair);border-radius:9px;padding:9px 11px;font-size:14px;min-width:0}
.addrow button{flex:0 0 auto;background:var(--green);color:#fff;font-weight:600;font-size:13px;padding:9px 14px;border-radius:9px}

.big3{display:flex;flex-direction:column;gap:9px}
.b3{display:flex;gap:10px;align-items:flex-start}
.b3 .num{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:var(--surface2);color:var(--muted);font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.b3.done .num{background:var(--greenSoft);color:var(--green)}
.b3 .t{flex:1;font-size:14px;color:var(--ink)}
.b3.done .t{color:var(--muted)}
.b3 .st{font-size:11px;font-weight:600;color:var(--muted);flex:0 0 auto;padding-top:2px}
.b3.done .st{color:var(--green)}

.btn{display:block;width:100%;text-align:center;background:var(--green);color:#fff;font-weight:600;font-size:15px;padding:13px;border-radius:11px}
.btn:hover{background:var(--green2)}
.btn.ghost{background:transparent;color:var(--green);border:1.5px solid var(--greenEdge)}
.btn.ghost:hover{background:var(--greenSoft)}
.btn.quiet{background:var(--surface2);color:var(--ink);font-weight:600;font-size:13.5px;padding:11px}
.btn.quiet:hover{background:var(--sunk)}

.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12.5px;font-weight:600;color:var(--ink)}
.field .hint{font-size:11.5px;color:var(--muted);margin:0}
textarea,input[type=text]{width:100%;background:var(--surface2);border:1px solid var(--hair);border-radius:10px;padding:10px 11px;font-size:14px;resize:vertical;line-height:1.45}
textarea::placeholder,input::placeholder{color:var(--muted)}
textarea:focus,input:focus{border-color:var(--greenEdge);background:var(--surface)}
.stack>input[type=text]{margin-top:6px}

.pulse{display:flex;flex-direction:column;gap:15px}
.pq{display:flex;flex-direction:column;gap:7px}
.pq .q{font-size:13.5px;color:var(--ink)}
.pq .q b{font-weight:700}
.scale{display:flex;gap:6px}
.scale button{flex:1;height:38px;border-radius:9px;background:var(--surface2);border:1.5px solid transparent;font-size:13px;font-weight:600;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.scale button:hover{border-color:var(--line)}
.scale button[aria-pressed="true"]{background:var(--greenSoft);border-color:var(--green);color:var(--green)}
.pq.warn .scale button[aria-pressed="true"]{background:var(--amberSoft);border-color:var(--amber);color:var(--amber)}
.anchors{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}

.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vtile{aspect-ratio:1/1;max-width:100%;border-radius:11px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:9px;border:1px solid var(--line)}
.vtile span{position:relative;z-index:1;font-size:11.5px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);line-height:1.3}
.vtile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,16,.72),rgba(10,20,16,0) 45%)}
.v1{background:linear-gradient(145deg,#2E6B50,#17402F)}
.v2{background:linear-gradient(145deg,#8A6F2C,#4A3B16)}
.v3{background:linear-gradient(145deg,#2A5A6B,#16323C)}
.v4{background:linear-gradient(145deg,#6B3F2E,#3A2119)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat{background:var(--surface);padding:11px 9px;display:flex;flex-direction:column;gap:2px;align-items:center}
.stat b{font-size:19px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat span{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.25}

.track{height:5px;border-radius:99px;background:var(--sunk);overflow:hidden}
.track i{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .4s ease}

.pmn{display:flex;flex-direction:column;gap:0}
.pmn .row{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--hair)}
.pmn .row:last-child{border-bottom:0}
.pmn .tag{flex:0 0 46px;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding-top:2px}
.pmn .row.p .tag{color:var(--green)}
.pmn .row.m .tag{color:var(--amber)}
.pmn .row.n .tag{color:var(--ink)}
.pmn .row .bd{flex:1}
.pmn .row p{margin:0;font-size:13.5px;color:var(--body)}
.pmn .row .ask{margin:0 0 3px;font-size:11.5px;color:var(--muted)}

.bank{display:flex;flex-direction:column;gap:2px}
.bk{display:flex;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--hair);width:100%}
.bk:last-child{border-bottom:0}
.bk .t{flex:1;font-size:14px;color:var(--ink);line-height:1.35}
.bk.used .t{color:var(--muted)}
.wk{flex:0 0 auto;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface2);color:var(--muted);border:1px solid var(--hair);white-space:nowrap}
.wk.now{background:var(--greenSoft);color:var(--green);border-color:var(--greenEdge)}
.star{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--line)}
.star svg{width:15px;height:15px;fill:currentColor}
.star.on{color:var(--amber)}
.star:hover{background:var(--surface2)}

.ift{display:flex;flex-direction:column;gap:9px}
.ift div{font-size:13.5px;color:var(--body);padding-left:12px;border-left:2px solid var(--amberEdge);line-height:1.45}
.ift b{color:var(--ink);font-weight:600}

.pomo{display:flex;align-items:center;gap:13px}
.ring{position:relative;width:62px;height:62px;flex:0 0 auto}
.ring svg{transform:rotate(-90deg);width:62px;height:62px}
.ring circle{fill:none;stroke-width:5}
.ring .bgc{stroke:var(--sunk)}
.ring .fgc{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .3s linear}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.pomo .ctl{display:flex;gap:7px;flex:1}
.pomo .ctl button{flex:1;padding:9px;border-radius:9px;background:var(--surface2);font-size:13px;font-weight:600;color:var(--ink);text-align:center}
.pomo .ctl button.go{background:var(--green);color:#fff}

.winlist{display:flex;flex-direction:column;gap:7px}
.win{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink)}
.win::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--green);margin-top:7px}
.win time{display:block;font-size:11px;color:var(--muted);margin-top:1px}

.closedbox{background:var(--greenSoft);border:1px solid var(--greenEdge);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:4px}
.closedbox b{color:var(--green);font-size:14px}
.closedbox p{margin:0;font-size:13px;color:var(--body)}
:root.simple .eodcard .tmtime{display:none}

.oq{border:1px dashed var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:7px;background:transparent}
.oq .eyebrow{color:var(--red)}
.oq p{margin:0;font-size:12.5px;color:var(--muted)}
.oq p b{color:var(--body);font-weight:600}

.tabwrap{flex:0 0 auto;position:relative;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:5}
.tabs{display:flex;overflow-x:auto;padding:6px 0;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x proximity}
.tabs::-webkit-scrollbar{display:none}
.cue{position:absolute;top:0;bottom:env(safe-area-inset-bottom,0px);width:30px;display:none;place-items:center;z-index:3;color:var(--green);font-size:15px;font-weight:700;padding:0;text-align:center}
.cue.on{display:grid}
.cue.right{right:0;background:linear-gradient(to right,rgba(255,255,255,0) 0%,var(--surface) 62%)}
.cue.left{left:0;background:linear-gradient(to left,rgba(255,255,255,0) 0%,var(--surface) 62%)}
.cue svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tab{flex:0 0 20%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 1px;border-radius:9px;color:var(--muted)}
.tab svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tab span{font-size:9.5px;font-weight:600;white-space:nowrap}
.tab[aria-current="page"]{color:var(--green)}

.sheet{position:absolute;inset:0;background:rgba(12,20,17,.42);display:flex;align-items:flex-end;z-index:20}
.sheet[hidden]{display:none!important}
.devrow[hidden],.devlab[hidden]{display:none!important}
:root.wk1 .dblast,:root.wk1 .sclast{visibility:hidden}
.bellbtn{position:relative}
.bellbtn[hidden]{display:none!important}
.bellbtn.on{color:var(--green);background:var(--greenSoft)}
.belldot{position:absolute;top:-3px;right:-5px;min-width:15px;height:15px;padding:0 4px;border-radius:99px;background:var(--amber);color:#fff;font-style:normal;font-size:10px;font-weight:800;line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.belldot[hidden]{display:none!important}
.cue.right.news::after{content:"";position:absolute;top:9px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--surface);animation:newsblink 1.4s ease-in-out infinite}
@keyframes newsblink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.cue.right.news::after{animation:none}}
.swwrap{display:flex;flex-direction:column;gap:2px}
.swhead{display:flex;align-items:center;gap:14px}
.swt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.swt b{font-size:23px;font-weight:700;letter-spacing:-.025em;color:var(--ink);line-height:1.15}
.swr{font-size:12.5px;color:var(--muted)}
.swst{margin-top:5px;font-size:13px;color:var(--muted)}
.swst b{font-size:13px;letter-spacing:0;color:var(--ink);font-weight:700}
.swst b.fg{color:var(--green)}.swst b.fa{color:var(--amber)}.swst b.fr{color:var(--red)}
.swring{position:relative;flex:0 0 auto;width:74px;height:74px}
.swring svg{width:74px;height:74px}
.swring circle{fill:none;stroke-width:5.5}
.swring .bg{stroke:color-mix(in srgb,var(--ink) 10%,transparent)}
.swring .fg{stroke:var(--green2);stroke-linecap:round}
.swring.fg .fg{stroke:var(--green)}
.swring.idle .fg{stroke:transparent}
.swring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.swring b i{font-style:normal;font-size:11px;font-weight:700;margin:3px 0 0 1px;color:var(--muted)}
.sw2h{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:16px 16px 16px 18px;border-radius:20px;background:var(--greenDeep);border-top:3px solid var(--amber);box-shadow:0 10px 26px rgba(16,42,32,.16)}
.sw2t{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sw2e{font-size:10.5px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#E3C77A!important;margin-bottom:2px}
.sw2t b{font-size:26px;font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.1}
.sw2t>span{font-size:13px;color:rgba(234,243,238,.7)}
.sw2pips{display:flex;gap:4px;margin-top:10px;max-width:190px}
.sw2pips i{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.14)}
.sw2pips i.d{background:var(--greenLit)}
.sw2pips i.n{background:var(--amber)}
.sw2s{position:relative;z-index:1;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}
.sw2s>span{font-size:11.5px;font-weight:600;color:rgba(234,243,238,.75);white-space:nowrap}
.sw2s .swring{width:70px;height:70px}.sw2s .swring svg{width:70px;height:70px}
.sw2s .swring .bg{stroke:rgba(255,255,255,.14)}
.sw2s .swring .fg{stroke:var(--greenLit)}
.sw2s .swring b{font-size:19px;color:#fff}
.sw2s .swring b i{color:rgba(234,243,238,.7)}
.sw2p{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sw2i{aspect-ratio:1/1;border-radius:18px;background-size:cover;background-position:center;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.card.sw2c{gap:10px;padding:14px 14px 8px}
.sw2c .sec{margin:0}
.sw2d{display:flex;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--hair);margin-top:2px}
.sw2d b{font-size:15px;color:var(--ink)}
.sw2c .prow:last-child{border-bottom:0}
.sw2c .prl{padding-top:4px;padding-bottom:4px;min-height:0}
.sw2c .prow .ptap{padding-top:6px;padding-bottom:6px}
@media (min-width:900px){:root:not(.phoneview) .sw2p{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gempty{opacity:.6;font-style:italic;font-size:inherit;letter-spacing:normal;text-transform:none;font-weight:inherit}
.freshask{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:var(--surface2);margin-top:10px}
.freshask b{color:var(--ink)}.freshask p{margin:0;font-size:13px;color:var(--body);line-height:1.45}
.freshask .dwb{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:4px}
.freshask[hidden]{display:none!important}
:root.bmember [data-dev="old"]{display:none!important}
.sheetin{background:var(--surface);width:100%;border-radius:18px 18px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:11px;max-height:88%;overflow-y:auto;animation:up .22s ease}
@keyframes up{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}
.sheetin h3{margin:0;font-size:15px;color:var(--ink);font-weight:700}
.devrow{display:flex;gap:8px}
.devrow button{flex:1;padding:11px;border-radius:10px;background:var(--surface2);font-size:13px;font-weight:600;color:var(--ink);text-align:center}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* --- Today tab, calmer hierarchy --- */
#barChip{display:none}
.todayhead{display:flex;align-items:flex-start;gap:10px}
.scorechip{margin-left:auto;flex:0 0 auto;font-size:15px;font-weight:700;padding:7px 13px;border-radius:999px;background:var(--surface2);color:var(--muted);border:1px solid var(--hair);font-variant-numeric:tabular-nums}
.scorechip.on{background:var(--greenSoft);color:var(--green);border-color:var(--greenEdge)}
.gdiv{height:1px;background:rgba(255,255,255,.17);margin:4px 0 2px}
.grow{display:flex;align-items:center;gap:8px}
.gcount{font-size:10.5px;font-weight:700;letter-spacing:.07em;color:rgba(234,243,238,.55);font-variant-numeric:tabular-nums}
.gb3{display:flex;flex-direction:column;gap:8px}
.gb3 .r{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:rgba(234,243,238,.66);line-height:1.35}
.gb3 .r.done{color:rgba(255,255,255,.93)}

.timer{display:flex;align-items:center;gap:11px;background:var(--surface2);border-radius:13px;padding:10px 12px}
.timer .ring{position:relative;width:44px;height:44px;flex:0 0 auto}
.timer .ring svg{transform:rotate(-90deg);width:44px;height:44px}
.timer .ring circle{fill:none;stroke-width:4}
.timer .ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.tlab{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}
.tlab b{font-size:13px;color:var(--ink);font-weight:600}
.tlab span{font-size:11px;color:var(--muted)}
.tbtn{flex:0 0 auto;padding:8px 13px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink);text-align:center}
.tbtn.go{background:var(--green);color:#fff;border-color:var(--green)}

/* --- brand accents --- */
.timer .ring .fgc{stroke:var(--amber)}
:root.onb .tabwrap{display:none!important}
.invw{display:flex;flex-direction:column;gap:14px;padding-top:10px}
.invmsg{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.invh{display:flex;align-items:center;gap:10px}
.invav{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:18px}
.invh b{display:block;font-size:14.5px;color:var(--ink)}.invh em{font-style:normal;font-size:12px;color:var(--muted)}
.invmsg p{margin:0;font-size:15px;color:var(--ink);line-height:1.45}
.invlink{align-self:flex-start;font-size:14px;font-weight:600;color:#1a6fd6;text-decoration:underline}
.invnote{margin:0;font-size:12.5px;color:var(--muted)}
.wkbar{position:relative;height:4px;border-radius:99px;background:rgba(255,255,255,.18);margin-top:6px;margin-right:6px}
.wkbar i{display:block;height:100%;border-radius:99px;background:var(--greenLit)}
.wkbar b{position:absolute;right:-6px;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px rgba(0,0,0,.22)}
.card.gold{background:var(--amberSoft);border-color:var(--amberEdge)}
.card.gold h2.sec{color:var(--amber)}
.stat b.gold{color:var(--amber)}


/* --- scoreboard --- */
.me{background:var(--greenDeep);border-radius:14px;padding:18px 15px 15px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:9px}
.me::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber)}
.me .eyebrow{color:rgba(234,243,238,.62)}
.me .big{display:flex;align-items:baseline;gap:9px}
.me .big b{font-size:42px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.me .big span{font-size:13px;color:rgba(234,243,238,.72)}
.lb{display:flex;flex-direction:column;gap:0}
.lb .r{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--hair)}
.lb .r:last-child{border-bottom:0}
.lb .r.you{background:var(--greenSoft);border-radius:9px;padding:9px 8px;border-bottom:0;margin:2px 0}
.lb .pos{flex:0 0 26px;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.lb .nm{flex:1;font-size:14px;color:var(--ink)}
.lb .r.you .nm{font-weight:700;color:var(--green)}
.lb .bar{flex:0 0 74px;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden}
.lb .bar i{display:block;height:100%;border-radius:99px;background:var(--green)}
.lb .bar i.amb{background:var(--amber)}
.lb .pc{flex:0 0 40px;text-align:right;font-size:12.5px;font-weight:600;color:var(--body);font-variant-numeric:tabular-nums}

/* --- agenda --- */
.ag{display:flex;flex-direction:column;gap:0}
.ag .it{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--hair)}
.ag .it:last-child{border-bottom:0}
.ag .mins{flex:0 0 42px;font-size:11px;font-weight:700;color:var(--amber);letter-spacing:.04em;padding-top:2px;font-variant-numeric:tabular-nums}
.ag .bd{flex:1}
.ag .bd b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.ag .bd p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.prep{display:flex;flex-direction:column;gap:0}
.prep .row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair)}
.prep .row:last-child{border-bottom:0}
.prep .k{flex:0 0 86px;font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.03em;padding-top:2px}
.prep .v{flex:1;font-size:13.5px;color:var(--ink)}
.propose{font-size:11.5px;color:var(--muted);border:1px dashed var(--line);border-radius:9px;padding:8px 10px;margin:0}

/* --- theme toggle --- */
.iconbtn.tt svg{width:18px;height:18px}

/* --- WHY, the reason card --- */
.whycard{background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:14px;padding:18px 16px 15px;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden}
.whycard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber)}
.whycard .eyebrow{color:var(--amber)}
.whycard p.q{margin:0;font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.38;color:var(--ink)}
.whycard p.tail{margin:0;font-size:12px;color:var(--muted)}

/* --- configurable action steps on the Goal tab --- */
.gstep{border-bottom:1px solid var(--hair);padding:11px 0}
.gstep:last-child{border-bottom:0}
.gtop{display:flex;gap:10px;align-items:flex-start;width:100%;background:none}
.gtop .t{flex:1;font-size:14.5px;color:var(--ink);line-height:1.35}
.gwhen{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}
.gwhen.none{color:var(--amber);font-weight:600}
.gedit{display:flex;flex-direction:column;gap:11px;padding:12px 0 2px}
.wkpick{display:flex;align-items:center;gap:10px}
.wkpick button{width:34px;height:34px;border-radius:10px;background:var(--surface2);font-weight:700;color:var(--ink);display:grid;place-items:center;font-size:17px;line-height:1}
.wkpick b{font-size:13.5px;color:var(--ink);min-width:74px;text-align:center}

/* --- Today: the big three is a reminder, not a task list --- */
.gb3{gap:5px}
.gb3 .r{width:100%;background:none;text-align:left;padding:1px 0;font-size:11.5px;gap:7px;line-height:1.36;color:rgba(234,243,238,.58)}
.gb3 .r:hover{color:rgba(255,255,255,.9)}
.gb3 .r:hover .tk{border-color:rgba(255,255,255,.85)}
.gb3 .r.done{color:rgba(255,255,255,.8)}


/* --- Today: action steps card, normal scale, quietly lifted --- */
.card.work{border-color:var(--greenEdge)}

/* --- Today: a timer that looks like a timer --- */
.timerbig{display:flex;flex-direction:column;align-items:center;gap:14px}
.bigring{position:relative;width:132px;height:132px}
.bigring svg{transform:rotate(-90deg);width:132px;height:132px}
.bigring circle{fill:none;stroke-width:7}
.bigring .bgc{stroke:var(--sunk)}
.bigring .fgc{stroke:var(--amber);stroke-linecap:round;transition:stroke-dashoffset .3s linear}
.bigring b{position:absolute;inset:0;display:grid;place-items:center;font-size:31px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.tctl{display:flex;gap:9px;width:100%}
.tctl button{flex:1;padding:13px;border-radius:11px;background:var(--surface2);font-size:14px;font-weight:600;color:var(--ink);text-align:center}
.tctl button.go{background:var(--green);color:#fff}

.pmnl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.pmnl li{position:relative;padding-left:15px;font-size:13.5px;color:var(--body);line-height:1.4}
.pmnl li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%}
.row.p .pmnl li::before{background:var(--green)}
.row.m .pmnl li::before{background:var(--amber)}
.row.n .pmnl li::before{background:var(--ink);opacity:.5}
.pmn .row{align-items:flex-start}
.pmncount{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.05em}

.askq{margin:7px 0 0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;color:var(--green);letter-spacing:.004em}
.pmn .row .ask{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}

.obs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.obs li{position:relative;padding-left:21px;font-size:14px;color:var(--ink);line-height:1.4}
.obs li::before{content:"";position:absolute;left:3px;top:6px;width:8px;height:8px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.ifhead{border-top:1px solid var(--hair);padding-top:12px;display:flex;flex-direction:column;gap:5px}

.card.nowcard{border-color:var(--greenEdge);box-shadow:var(--shadow);padding:16px}
.nowstep{display:flex;gap:12px;align-items:flex-start;padding:2px 0 4px}
.nowstep .txt{flex:1;font-size:17px;line-height:1.35;color:var(--ink);font-weight:600}
.nowstep .box{width:24px;height:24px;border-radius:7px}
.nowstep .box svg{width:14px;height:14px}
.nowlab{margin:0;text-align:center;font-size:12.5px;color:var(--muted);line-height:1.4;min-height:18px;padding:0 4px}
.nowlab b{color:var(--green);font-weight:600}
.alldone{text-align:center;padding:4px 0 2px}
.alldone b{display:block;font-size:15.5px;color:var(--green);margin-bottom:3px}
.alldone p{margin:0}
.promote{background:none;padding:0;cursor:pointer}
.promote:hover{color:var(--green)}
.tctl button:disabled{opacity:.4;cursor:default}

/* --- Big Three: the whole row is the tap target --- */
.b3.tapme{width:100%;background:none;text-align:left;padding:8px 8px;border-radius:10px;align-items:center;cursor:pointer}
.b3.tapme:hover{background:var(--surface2)}
.b3.tapme:active{background:var(--sunk)}
.b3 .box{flex:0 0 auto;width:21px;height:21px;border:1.6px solid var(--line);border-radius:6px;display:grid;place-items:center;background:var(--surface);transition:background .14s,border-color .14s}
.b3 .box svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity .14s,transform .14s}
.b3.done .box{background:var(--green);border-color:var(--green)}
.b3.done .box svg{opacity:1;transform:scale(1)}
.b3 .st{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding-top:0}
.b3.done .st{color:var(--green)}
.big3{gap:3px}
/* --- Today: small circular tick on the dark card --- */
.gb3 .r{padding:4px 6px;border-radius:9px;align-items:center}
.gb3 .r .tk{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:1.3px solid rgba(234,243,238,.45);display:grid;place-items:center;box-sizing:border-box}
.gb3 .r .tk svg{width:8px;height:8px;stroke:#213E31;stroke-width:3.6;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.gb3 .r.done .tk{background:var(--greenLit);border-color:var(--greenLit)}
.gb3 .r.done .tk svg{opacity:1}

/* --- optional timer --- */
.tbar{display:flex;align-items:center;gap:11px;width:100%;background:var(--surface2);border:1px solid transparent;border-radius:13px;padding:11px 12px;text-align:left}
.tbar:hover{border-color:var(--line);background:var(--surface)}
.tico{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--amber)}
.tico svg{width:17px;height:17px}
.tbar .tlab{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}
.tbar .tlab b{font-size:13.5px;color:var(--ink);font-weight:600}
.tbar .tlab span{font-size:11.5px;color:var(--muted)}
.tclock{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--muted);opacity:.65}
.tclock svg{width:17px;height:17px}
.tclock:hover{background:var(--surface2);color:var(--amber);opacity:1}
.tclock.on{color:var(--amber);opacity:1;background:var(--amberSoft)}
.nowtitle{margin:0;font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.35;text-align:center}
.linkbtn{font-size:12px;font-weight:600;color:var(--muted)}
.linkbtn:hover{color:var(--red)}

.tlen{display:flex;align-items:center;justify-content:center;gap:14px}
.tlen button{width:44px;height:44px;border-radius:12px;background:var(--surface2);font-size:20px;touch-action:manipulation;font-weight:700;color:var(--ink);display:grid;place-items:center;line-height:1}
.tlen button:disabled{opacity:.35;cursor:default}
.tlen b{min-width:96px;text-align:center;font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.bigring b{font-size:28px}

.editlink{font-size:12.5px;font-weight:600;color:var(--green);padding:4px 8px;border-radius:7px}
.editlink:hover{background:var(--greenSoft)}
.step.editing{align-items:center;gap:8px;padding:7px 0}
.step.editing input{flex:1;min-width:0;padding:8px 10px;font-size:14px}
.mv{display:flex;flex-direction:column;gap:2px;flex:0 0 auto}
.mv button{width:26px;height:20px;border-radius:6px;display:grid;place-items:center;color:var(--body);background:var(--surface2)}
.mv button svg{width:14px;height:14px}
.mv button:hover:not(:disabled){background:var(--greenSoft);color:var(--green)}
.mv button:disabled{opacity:.3;cursor:default}
.step.editing .kill{opacity:.7}

.tshow{display:flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border-radius:10px;background:var(--surface2);color:var(--body);font-size:13px;font-weight:600}
.tshow svg{width:16px;height:16px;color:var(--amber)}
.tshow:hover{background:var(--sunk);color:var(--ink)}

/* --- end-of-day review --- */
.eodcard{gap:0;padding:0;overflow:hidden;box-shadow:var(--shadow)}
.eodhead{padding:16px 16px 14px;background:var(--greenSoft);border-bottom:1px solid var(--greenEdge)}
.eodhead h2{margin:0;font-size:18px;font-weight:700;color:var(--green);letter-spacing:-.015em}
.eodhead p{margin:3px 0 0;font-size:12.5px;color:var(--body)}
.eods{padding:15px 16px 16px;border-bottom:1px solid var(--hair);display:flex;flex-direction:column;gap:10px}
.eodl{display:flex;gap:11px;align-items:flex-start}
.eodn{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:11.5px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.eodl b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.3}
.eodl p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.eodl .goes{display:block;margin-top:5px;color:var(--amber);font-weight:600}
.eodf{display:flex;flex-direction:column;gap:6px;padding-left:33px}
.eodnotes{padding:13px 16px;border-bottom:1px solid var(--hair)}
.eodnotes summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none}
.eodnotes summary::-webkit-details-marker{display:none}
.eodnotes summary .eodn{background:var(--surface2);color:var(--muted)}
.eodnotes summary b{font-size:15px;font-weight:700;color:var(--ink)}
.eodnotes summary em{font-style:normal;font-size:12px;color:var(--muted)}
.eodnotes textarea{margin:10px 0 0 33px;width:calc(100% - 33px)}
.eodcard #eodSave{margin:14px 16px 16px;width:auto}
.tiplist{margin:2px 0 0;padding-left:18px;color:var(--ink);font-size:14px;display:flex;flex-direction:column;gap:3px}
.tipfrom{font-size:11px;color:var(--muted);margin-top:3px}

.addmore{align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--green);padding:6px 10px;border-radius:8px;margin-top:2px}
.addmore:hover{background:var(--greenSoft)}
.eodn.soft{background:var(--surface2);color:var(--muted)}
.eodl b .opt{font-style:normal;font-weight:500;font-size:12px;color:var(--muted);margin-left:4px}

.editlink.light{color:rgba(234,243,238,.85)}
.editlink.light:hover{background:rgba(255,255,255,.1)}
.goalcard .rowhead,.whycard .rowhead{margin-bottom:-2px}
.whycard .editlink{color:var(--amber)}
.whycard .editlink:hover{background:rgba(184,145,42,.12)}
.edrow{display:flex;justify-content:flex-end}
.edrow .btn{width:auto;padding:10px 22px}
button.vtile{text-align:left;cursor:pointer;background-size:cover;background-position:center}
button.vtile:hover{outline:2px solid var(--greenEdge);outline-offset:1px}
.vtile.hasimg{border-color:transparent}
.oblist{display:flex;flex-direction:column}
.obpair{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--hair)}
.obpair:first-child{padding-top:2px}
.obh{display:flex;align-items:center;gap:8px}
.obh b{width:20px;height:20px;border-radius:5px;background:var(--amberSoft);color:var(--amber);font-size:11px;display:grid;place-items:center}

.gate{background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden}
.gate::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber)}
.gatestep{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.gate b{font-size:16px;color:var(--ink);font-weight:700;line-height:1.3}
.gate p{margin:0;font-size:13.5px;color:var(--body);line-height:1.5}
.gate strong{color:var(--ink);letter-spacing:.06em}
.gate input{background:var(--surface)}
.gatebtns{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.gatego{text-align:center;font-size:13px;font-weight:600;color:var(--muted);padding:9px;border-radius:9px}
.gatego:hover:not(:disabled){color:var(--ink);background:rgba(184,145,42,.1)}
.gatego:disabled{opacity:.4;cursor:default}

.gedit{flex-direction:column;gap:10px;padding:12px 0 2px}
.gwkrow{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface2);border-radius:11px;padding:8px 8px 8px 12px}
.gwkrow>span{font-size:13px;font-weight:600;color:var(--ink)}
.gwkrow .wkpick{gap:6px}
.gwkrow .wkpick b{min-width:62px}
.gwkrow .wkpick button{background:var(--surface)}
.gdel{align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--red);padding:6px 10px;border-radius:8px}
.gdel:hover{background:var(--redSoft)}
.gdel.armed{background:var(--red);color:#fff}

.wk.over{background:var(--amberSoft);color:var(--amber);border-color:var(--amberEdge)}
.wkwarn{margin:0;background:var(--amberSoft);border:1px solid var(--amberEdge);border-left:3px solid var(--amber);border-radius:10px;padding:9px 11px;font-size:12.5px;color:var(--body);line-height:1.45}
.wkwarn b{color:var(--ink)}
.toast{position:absolute;left:14px;right:14px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:15;background:var(--ink);color:var(--paper);border-left:4px solid var(--amber);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.toast b{color:var(--paper)}
.toast.show{animation:toastin .22s ease}
@keyframes toastin{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}

/* --- Big Three: nothing moves when ticked; done = amber --- */
.b3.tapme{align-items:flex-start}
.b3 .box{margin-top:0}
.b3 .t{padding-top:1px;line-height:1.4}
.b3 .st{white-space:nowrap;min-width:86px;text-align:right;padding-top:4px}
.b3 .box svg{transform:none;transition:opacity .12s}
.b3.done .box{background:var(--amber);border-color:var(--amber)}
.b3.done .st{color:var(--amber)}
.gb3 .r{align-items:flex-start}
.gb3 .r .tk{margin-top:1px}
.gb3 .r.done .tk{background:var(--amber);border-color:var(--amber)}
.gb3 .r.done .tk svg{stroke:#fff}

/* --- Big Three everywhere matches Today: amber circle, white check, same row, struck through --- */
.b3 .st{display:none}
.b3.tapme,.b3{flex-wrap:nowrap;align-items:flex-start}
.b3 .box{width:20px;height:20px;border-radius:50%;border:1.6px solid var(--line)}
.b3 .box svg{width:11px;height:11px;stroke:#fff;stroke-width:3.2}
.b3.done .box{background:var(--amber);border-color:var(--amber)}
.b3 .t{flex:1;min-width:0}
.b3.done .t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--amber);text-decoration-thickness:1.5px}
.gb3 .r>span{flex:1;min-width:0}
.gb3 .r.done>span{text-decoration:line-through;text-decoration-color:var(--amber);text-decoration-thickness:1.5px}

.eodgoes{margin:0 0 0 2px;font-size:11.5px;font-weight:500;color:var(--amber);line-height:1.4}

.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:9px;height:9px;border-radius:50%}
.sb{display:flex;flex-direction:column}
.srow{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--hair)}
.srow:last-child{border-bottom:0}
.srow.you{background:var(--greenSoft);border-radius:10px;border-bottom-color:transparent;padding:10px 10px;margin:2px -6px}
.srow .nm{flex:1;min-width:0;font-size:14.5px;color:var(--ink)}
.srow.you .nm{font-weight:700;color:var(--green)}
.strack{flex:0 0 84px;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden}
.strack i{display:block;height:100%;border-radius:99px}
.srow .pc{flex:0 0 42px;text-align:right;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.legend i.fg,.strack i.fg{background:var(--green)}
.legend i.fa,.strack i.fa{background:var(--amber)}
.legend i.fr,.strack i.fr{background:var(--red)}
.srow .pc.fg{color:var(--green)}
.srow .pc.fa{color:var(--amber)}
.srow .pc.fr{color:var(--red)}
.youtag{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green);background:var(--surface);border:1px solid var(--greenEdge);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}

.card.sc{gap:12px}
.scgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border-radius:11px;overflow:hidden}
.sccol{background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.sccol:first-child{padding-left:0}
.scbig{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}
.scbig.fg{color:var(--green)}
.scbig.fa{color:var(--amber)}
.scbig.fr{color:var(--red)}
.scsub{font-size:11.5px;color:var(--muted);line-height:1.45}
.gsofar{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);margin-top:6px;padding-top:9px}
.gsofar span{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,243,238,.55)}
.gsofar b{font-size:15px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}

.scorechip{display:flex;align-items:baseline;gap:6px}
.scorechip .scl{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.7}
.chip.on.amb{background:var(--amberSoft);color:var(--amber);border-color:var(--amberEdge)}

.card.sc{gap:8px}
.scrow{display:flex;align-items:flex-end;gap:16px}
.card.sc .scbig{font-size:46px;line-height:1}
.scbig.idle{color:var(--muted)}
.scrow .scsub{padding-bottom:4px}
.scnext{margin:2px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink);background:var(--surface2);border-radius:10px;padding:9px 11px;border-left:3px solid var(--line)}
.scnext.fg{border-left-color:var(--green)}
.scnext.fa{border-left-color:var(--amber)}
.scnext.fr{border-left-color:var(--red)}
.scnext b{font-weight:600}
.sclast{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--muted);padding-top:2px}
.sclast b{font-size:13px;font-weight:700}
.sclast b.fg{color:var(--green)}.sclast b.fa{color:var(--amber)}.sclast b.fr{color:var(--red)}

.scbig.live{color:var(--ink)}
.scnext.live{border-left-color:var(--green2)}

/* --- This Week: its own identity --- */
.wkhero{background:var(--greenSoft);border:1px solid var(--greenEdge);border-radius:16px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:14px}
.wkhero .eyebrow{color:var(--green)}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding-bottom:12px}
.dd{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;border-radius:11px;background:var(--surface);border:1px solid var(--hair)}
.dd span{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.dd b{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.dd.past{background:transparent;border-color:transparent}
.dd.past b,.dd.past span{color:var(--muted);opacity:.75}
.dd.now{background:var(--green);border-color:var(--green);box-shadow:0 4px 12px rgba(27,94,67,.25)}
.dd.now span,.dd.now b{color:#fff;opacity:1}
.dd.rev{border-color:var(--amber);border-style:dashed}
.dd em{position:absolute;bottom:-15px;font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.tenwk{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}
.tenwk i{height:7px;border-radius:99px;background:var(--surface);border:1px solid var(--greenEdge)}
.tenwk i.done{background:var(--green);border-color:var(--green)}
.tenwk i.now{background:var(--amber);border-color:var(--amber)}
.tenlab{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted)}
.sclast{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:baseline}
.meter{position:relative;height:8px;border-radius:99px;background:var(--sunk);margin:6px 0 16px}
.meter i{display:block;height:100%;border-radius:99px;background:var(--green2);opacity:.55;transition:width .4s ease}
.meter i.fg{background:var(--green);opacity:1}
.meter .mk{position:absolute;left:85%;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:var(--green)}
.meter .mk em{position:absolute;top:15px;left:50%;transform:translateX(-50%);font-style:normal;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--green)}
.b3card{border-color:var(--amberEdge)}
.b3ic{width:24px;height:24px;border-radius:7px;background:var(--amberSoft);display:grid;place-items:center;color:var(--amber);flex:0 0 auto}
.b3ic svg{width:14px;height:14px;fill:currentColor}
.pm3{display:flex;flex-direction:column;gap:8px}
.pm{border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:7px}
.pm.p{background:var(--greenSoft)}
.pm.m{background:var(--amberSoft)}
.pm.n{background:var(--surface2)}
.pmh{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pm.p .pmh{color:var(--green)}.pm.m .pmh{color:var(--amber)}.pm.n .pmh{color:var(--ink)}
.pm.p .pmnl li::before{background:var(--green)}
.pm.m .pmnl li::before{background:var(--amber)}
.pm.n .pmnl li::before{background:var(--ink);opacity:.5}
.pm .pmnl li{color:var(--ink)}
.wkgrp{display:flex;flex-direction:column}
.wkg{padding-bottom:2px}
.wkg-h{display:flex;align-items:center;gap:8px;padding:12px 0 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wkg.cur{background:var(--greenSoft);border-radius:12px;padding:0 10px 4px;margin:6px -10px 2px}
.wkg.cur .wkg-h{color:var(--green)}
.wkg.cur .bk{border-bottom-color:var(--greenEdge)}
.wkg.past .bk .t{color:var(--muted)}
.nowpill,.overpill{font-style:normal;font-size:9.5px;letter-spacing:.05em;border-radius:999px;padding:2px 8px}
.nowpill{background:var(--green);color:#fff}
.overpill{background:var(--amberSoft);color:var(--amber);border:1px solid var(--amberEdge)}

.donehow{border-top:1px solid rgba(255,255,255,.14);margin-top:6px;padding-top:10px;display:flex;flex-direction:column;gap:3px}
.donehow span{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(234,243,238,.6)}
.goalcard .donehow p{font-family:var(--ui);font-style:normal;font-size:14px;line-height:1.45;color:rgba(255,255,255,.9)}

/* --- slight visuals: icon badges + folded explanations --- */
.ic{flex:0 0 auto;width:24px;height:24px;border-radius:7px;display:grid;place-items:center}
.ic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ic.t-g{background:var(--greenSoft);color:var(--green)}
.ic.t-a{background:var(--amberSoft);color:var(--amber)}
.ic.t-r{background:var(--redSoft);color:var(--red)}
.ic.t-n{background:var(--surface2);color:var(--body)}
.rowhead .ic+h2.sec{margin-left:2px}
.tiph{display:flex;align-items:center;gap:8px}
.tiph .ic{width:20px;height:20px;background:transparent}
.note{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.note:empty{display:none}
.whyb{width:17px;height:17px;border-radius:50%;border:1.3px solid var(--line);font-size:10.5px;font-weight:700;font-style:italic;font-family:Georgia,serif;color:var(--muted);display:inline-grid;place-items:center;line-height:1;flex:0 0 auto}
.whyb:hover,.whyb.on{border-color:var(--green2);color:var(--green);background:var(--greenSoft)}
.more{margin:-4px 0 0;font-size:12.5px;line-height:1.5;color:var(--body);background:var(--surface2);border-radius:9px;padding:8px 10px}
.whycard .more{background:var(--surface);color:var(--ink);border:1px solid var(--amberEdge)}
.split{display:flex;gap:14px;font-size:12px;color:var(--muted);align-items:center;flex-wrap:wrap}
.split span{display:flex;align-items:center;gap:6px}
.split i{width:9px;height:9px;border-radius:3px}
.split i.a{background:var(--amber)}.split i.g{background:var(--green)}
.hintline{display:flex;align-items:center;gap:6px}
.hintline svg{width:13px;height:13px;fill:var(--amber)}

/* --- Dashboard --- */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tile{background:var(--surface2);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:1px}
.tile span{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tile b{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.tile b.fg{color:var(--green)}.tile b.fa{color:var(--amber)}.tile b.fr{color:var(--red)}.tile b.idle{color:var(--muted)}
.tile em{font-style:normal;font-size:11px;color:var(--muted)}
.wchart{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;height:90px;align-items:end;margin-top:6px}
.wchart .g85{position:absolute;left:0;right:0;bottom:72px;border-top:1.5px dashed var(--green2);opacity:.6}
.wchart .g85::after{content:'85%';position:absolute;right:0;top:-15px;font-size:9.5px;font-weight:700;color:var(--green)}
.wc{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.wc i{width:100%;max-width:18px;border-radius:5px 5px 2px 2px;background:var(--sunk);min-height:3px;height:0}
.wc i.fg{background:var(--green)}.wc i.fa{background:var(--amber)}.wc i.fr{background:var(--red)}
.wc i.cur{background:var(--green2);opacity:.5}
.wc span{font-size:10px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;height:14px}
.wc.now span{color:var(--ink);font-weight:800}
.wc>i{flex:0 0 auto}
.split i.r{background:var(--red)}
.vstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}
.vs{aspect-ratio:4/3;border-radius:8px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12)}
.nextl li{color:var(--ink)}
.nextl li::before{background:var(--green)!important}
.linkbtn.go{align-self:flex-start;color:var(--green);font-size:12.5px}

/* --- Dashboard carousel --- */
.rcard{gap:12px}
.rc{overflow:hidden;border-radius:13px}
.rctrack{display:flex;transition:transform .7s cubic-bezier(.45,0,.2,1)}
.rs{flex:0 0 100%;min-height:104px;padding:15px 16px;display:flex;flex-direction:column;gap:7px;justify-content:center}
.rs.p{background:var(--greenSoft)}.rs.m{background:var(--amberSoft)}.rs.n{background:var(--surface2)}
.rst{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.rs.p .rst{color:var(--green)}.rs.m .rst{color:var(--amber)}.rs.n .rst{color:var(--body)}
.rs p{margin:0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.38;color:var(--ink)}
.rcdots{display:flex;gap:6px;justify-content:center;margin-top:-2px}
.rcdots button{width:6px;height:6px;border-radius:99px;background:var(--line);transition:width .3s,background .3s;padding:0}
.rcdots button.on{width:20px;background:var(--green)}
/* --- timer points down to the steps --- */
.tlink{display:flex;justify-content:center;margin:-8px 0}
.tlink svg{width:18px;height:18px;fill:none;stroke:var(--greenEdge);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.rs.n{background:var(--surface2);border-left:3px solid var(--green)}
.btn.gotoday{display:flex;align-items:center;justify-content:center;gap:8px}
.btn.gotoday span{font-size:17px;transition:transform .2s}
.btn.gotoday:hover span{transform:translateX(3px)}

/* --- week picker --- */
.wkbtn{flex:0 0 auto;display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:999px;background:var(--surface2);color:var(--body);border:1px solid var(--hair);white-space:nowrap}
.wkbtn i{font-style:normal;font-size:9px;opacity:.6;transition:transform .2s}
.wkbtn.open{background:var(--greenSoft);color:var(--green);border-color:var(--greenEdge)}
.wkbtn.open i{transform:rotate(180deg)}
.wkbtn.over{background:var(--amberSoft);color:var(--amber);border-color:var(--amberEdge)}
.wkpicker{display:flex;flex-direction:column;gap:7px;padding:8px 0 12px}
.wkpicker>span{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wkgrid{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
.wkt{position:relative;height:34px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}
.wkt:hover{border-color:var(--green2)}
.wkt.cur{background:var(--green);border-color:var(--green);color:#fff}
.wkt.nowk::after{content:"";position:absolute;left:30%;right:30%;bottom:3px;height:2px;border-radius:2px;background:var(--green2)}
.wkt.cur.nowk::after{background:#fff}
.wkt.full::before{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--amber)}
.wkg.cur .wkt{background:var(--surface)}
.wkg.cur .wkt.cur{background:var(--green)}

.colhead{display:flex;align-items:center;gap:8px;width:100%;background:none;text-align:left}
.colhead .chev{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;flex:0 0 auto}
.colhead .chev.up{transform:rotate(180deg)}
.colsum{margin-top:-4px}
.colhead .sp{flex:1}
.rowhead .colhead{width:auto;flex:1}
button.hintline{background:none;padding:0;text-align:left;cursor:pointer}
button.hintline:hover{color:var(--green)}

/* --- readable italic: Source Serif 4 --- */
.serif,.goalcard p,.askq,.whycard p.q,.rs p{font-weight:500;letter-spacing:0}
.goalcard p{font-size:18px;line-height:1.42}
.whycard p.q{font-size:19px;line-height:1.42}
.rs p{font-size:18px;line-height:1.42}
.askq{font-size:17px}

/* --- focus hours --- */
.focusrow{display:flex;align-items:center;gap:10px;justify-content:center;font-size:12.5px;color:var(--muted);border-top:1px solid var(--hair);padding-top:12px;margin-top:2px}
.focusrow .ic{width:22px;height:22px}
.focusrow b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;margin-left:3px}
.focusrow i{width:1px;height:14px;background:var(--line)}
.focusrow.dash{justify-content:flex-start;border-top:0;padding-top:0}
.nsc{font-size:11px;color:var(--muted)}
.fstats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fstats div{background:var(--surface2);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column}
.fstats b{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fstats span{font-size:11px;color:var(--muted)}

/* --- scoreboard filter + groups --- */
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--surface2);border-radius:11px;padding:3px;gap:3px}
.seg button{padding:8px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted);text-align:center}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.grp{border:1px solid var(--line);border-radius:13px;padding:10px 12px 4px;display:flex;flex-direction:column;gap:2px}
.grp.mine{border-color:var(--greenEdge);background:linear-gradient(var(--greenSoft),var(--greenSoft)) top/100% 54px no-repeat}
.grph{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:4px}
.grph>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.grph b{font-size:14px;color:var(--ink)}
.grph span{font-size:11.5px;color:var(--muted);width:100%}
.gscore{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.gscore b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.gscore span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gscore.fg b{color:var(--green)}.gscore.fa b{color:var(--amber)}.gscore.fr b{color:var(--red)}
.srow.priv .nm{color:var(--muted)}
.privtag{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}
.privtag svg{width:13px;height:13px}
.edtag{font-style:normal;font-size:10px;font-weight:600;color:var(--amber);background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px;white-space:nowrap}

/* --- sharing --- */
.shopts{display:flex;flex-direction:column;gap:6px}
.shopt{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left}
.shopt.on{border-color:var(--green);background:var(--greenSoft)}
.shopt .radio{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1.8px solid var(--line);margin-top:1px;display:grid;place-items:center}
.shopt.on .radio{border-color:var(--green)}
.shopt.on .radio::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}
.shopt b{display:block;font-size:14px;color:var(--ink)}
.shopt em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:1px}
.shwhat{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--hair);padding-top:10px}
.shwhat p{margin:2px 0 0;font-size:12.5px;color:var(--body);line-height:1.45}
.sht{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sht.coach{color:var(--green)}

/* --- wins --- */
.wstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wstats div{background:var(--surface);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:2px}
.wstats b{font-size:19px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.wstats b.gold{color:var(--amber)}
.wstats span{font-size:10px;color:var(--muted);text-align:center;line-height:1.25}
.srcchip{font-style:normal;font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;margin-left:5px}
.srcchip.ed{background:var(--greenSoft);color:var(--green)}
.srcchip.ad{background:var(--surface2);color:var(--muted)}
.srcchip.rv{background:var(--amberSoft);color:var(--amber)}

/* --- coach view --- */
.adminbar{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600}
.adminbar svg{width:14px;height:14px;fill:none;stroke:currentColor}
.aq{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--hair)}
.aq span{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.aq p{margin:0;font-size:14px;color:var(--ink);line-height:1.45}
.aq.half{background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:11px;padding:10px 12px;margin-top:4px}
.aq.half span{color:var(--amber)}
.aq.half .editlink{align-self:flex-start;padding-left:0;color:var(--amber)}
.cks{display:flex;flex-direction:column;gap:7px;padding-top:4px}
.ck{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink)}
.ck i{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;color:#fff}
.ck.ok i{background:var(--green)}.ck.warn i{background:var(--amber)}
.pulsemini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pulsemini div{background:var(--surface2);border-radius:10px;padding:8px;display:flex;flex-direction:column;align-items:center}
.pulsemini span{font-size:10px;color:var(--muted)}
.pulsemini b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.pulsemini em{font-style:normal;font-size:11px;color:var(--muted);font-weight:500}
.ekinds{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.ekinds b{color:var(--ink);margin-left:3px}
.kchip{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:1px 7px;margin-left:5px;text-transform:uppercase}
.k-goal{background:var(--redSoft);color:var(--red)}.k-big{background:var(--amberSoft);color:var(--amber)}.k-step{background:var(--surface2);color:var(--body)}
.viewas button.on,.viewpv button.on{background:var(--ink);color:var(--paper)}
/* --- soft edit notes --- */
.edhist{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:10px;padding:7px 10px;font-size:12px;color:var(--body)}
.edhist .ic{width:20px;height:20px;background:transparent}
.edhist>span:not(.ic){flex:1}
.edhist b{font-size:11.5px;color:var(--amber);font-weight:700;white-space:nowrap}
.edhist.light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:rgba(234,243,238,.8);margin-top:8px}
.edhist.light b{color:#E9C874}
.histlist{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--amberEdge);margin:2px 0 0 10px;padding-left:12px}
.histlist div{padding:6px 0}
.histlist time{display:block;font-size:11px;color:var(--muted)}
.histlist p{margin:2px 0 0;font-size:12.5px;color:var(--ink);line-height:1.45}
.histlist.light{border-left-color:rgba(255,255,255,.2)}
.histlist.light time{color:rgba(234,243,238,.6)}.histlist.light p{color:#fff;font-family:var(--ui);font-style:normal;font-size:12.5px}
.histlist.full{margin-left:4px}

/* ================= DESKTOP ================= */
@media (min-width:900px){
  :root:not(.phoneview) body{background:var(--paper)}
  :root:not(.phoneview) .stage{display:block;height:100%;padding:0}
  :root:not(.phoneview) .frame{max-width:none;width:100%;height:100%;display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);border-radius:0;box-shadow:none}
  :root:not(.phoneview) .bar{grid-column:1/-1;grid-row:1;padding:12px 24px}
  :root:not(.phoneview) .tabwrap{grid-column:1;grid-row:2;border-top:0;border-right:1px solid var(--line);padding:16px 12px;overflow-y:auto}
  :root:not(.phoneview) .tabs{flex-direction:column;overflow:visible;padding:0;gap:2px;scroll-snap-type:none}
  :root:not(.phoneview) .tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 12px;border-radius:10px}
  :root:not(.phoneview) .tab span{font-size:13.5px}
  :root:not(.phoneview) .tab:hover{background:var(--surface2)}
  :root:not(.phoneview) .tab[aria-current="page"]{background:var(--greenSoft)}
  :root:not(.phoneview) .cue{display:none!important}
  :root:not(.phoneview) .scroll{grid-column:2;grid-row:2}
  :root:not(.phoneview) .toast{left:auto;right:28px;bottom:28px;width:380px}
  :root:not(.phoneview) .sheet{align-items:center;justify-content:center}
  :root:not(.phoneview) .sheetin{max-width:460px;border-radius:18px}
  /* two flowing columns for most tabs */
  :root:not(.phoneview) .screen{display:block;column-count:2;column-gap:20px;max-width:1120px;margin:0 auto;padding:28px 32px 56px}
  :root:not(.phoneview) .screen>*{break-inside:avoid;margin-bottom:16px}
  :root:not(.phoneview) .screen>:first-child,:root:not(.phoneview) .screen>.adminbar{column-span:all}
  :root:not(.phoneview) .screen>.card,:root:not(.phoneview) .screen>.goalcard,:root:not(.phoneview) .screen>.whycard,:root:not(.phoneview) .screen>.me,:root:not(.phoneview) .screen>.wkhero{display:flex}
  /* the weekly review is a form: one calm column */
  :root:not(.phoneview) #s-review{column-count:1;max-width:760px}
  /* Today: steps on the left, the timer pinned on the right */
  :root:not(.phoneview) #s-today{display:grid;column-count:auto;grid-template-columns:minmax(0,1fr) 360px;gap:16px 24px;align-items:start}
  :root:not(.phoneview) #s-today>*{grid-column:1;margin-bottom:0}
  :root:not(.phoneview) #s-today>.todayhead{grid-column:1/-1}
  :root:not(.phoneview) #s-today>.tside{grid-column:2;grid-row:2/span 12;position:sticky;top:0}
  :root:not(.phoneview) #s-today>.tlink{display:none}
  :root:not(.phoneview) .bigring,:root:not(.phoneview) .bigring svg{width:170px;height:170px}
  :root:not(.phoneview) .bigring b{font-size:36px}
}

.tab[hidden]{display:none!important}
/* --- shared action-step list --- */
.bk2{border-bottom:1px solid var(--hair)}
.bk2:last-child{border-bottom:0}
.wkg.cur .bk2{border-bottom-color:var(--greenEdge)}
.bkrow{display:flex;align-items:center;gap:6px;padding:7px 0}
.bktap{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;text-align:left}
.bktap .t{flex:1;font-size:14px;color:var(--ink);line-height:1.35}
.wkg.past .bktap .t{color:var(--muted)}
.bk2.open{background:var(--surface);border-radius:12px;box-shadow:0 0 0 1px var(--line);margin:4px -8px;padding:0 8px 6px}
.bk2 .gedit{padding:4px 0 6px}
.addbank{display:flex;gap:6px;align-items:center;border-top:1px dashed var(--line);padding-top:12px;margin-top:4px}
.addbank input{flex:1;min-width:0;padding:9px 11px;font-size:14px}
.addbank select{flex:0 0 auto;background:var(--surface2);border:1px solid var(--hair);border-radius:9px;padding:9px 6px;font-size:13px}
.addbank button{flex:0 0 auto;background:var(--green);color:#fff;font-weight:600;font-size:13px;padding:9px 14px;border-radius:9px}

/* --- Up Cycle on the Dashboard --- */
.cyc{display:flex;flex-direction:column;gap:10px}
.cyctop{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--body)}
.cyctop b{color:var(--green);font-weight:700}
.cyctop .nx{color:var(--muted)}
.cyctop .nx b{color:var(--ink)}
.cycbar{display:flex;gap:6px}
.seg2{display:flex;flex-direction:column;gap:6px;min-width:0}
.seg2 .wks{display:flex;gap:3px}
.seg2 .wks i{flex:1;height:8px;border-radius:99px;background:var(--surface);border:1px solid var(--greenEdge)}
.seg2 .wks i.d{background:var(--green);border-color:var(--green)}
.seg2 .wks i.n{background:var(--amber);border-color:var(--amber)}
.seg2 span{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.15;color:var(--muted);text-align:center}
.seg2.cur span{color:var(--green)}
.seg2.done span{color:var(--green);opacity:.6}
.seg2.cur .wks{border-radius:99px;outline:1.5px solid var(--amberEdge);outline-offset:3px}

/* --- slimmer dashboard top card --- */
.wkhero.slim{gap:14px;padding:14px 16px}
.wkhero.slim .seg2 span{font-size:9px;letter-spacing:.04em;white-space:nowrap;overflow:visible;display:flex;justify-content:center;margin:0 -8px}
.wrow{display:flex;align-items:center;gap:4px;border-top:1px solid var(--greenEdge);padding-top:11px}
.wd{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.wd span{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.wd i{width:8px;height:8px;border-radius:50%;background:var(--surface);border:1.5px solid var(--greenEdge)}
.wd.past i{background:var(--greenEdge);border-color:var(--greenEdge)}
.wd.now span{color:var(--green)}
.wd.now i{width:10px;height:10px;background:var(--green);border-color:var(--green);box-shadow:0 0 0 3px rgba(27,94,67,.15)}
.wd.rev i{border-color:var(--amber)}
.wd.rev span{color:var(--amber)}
.wrl{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:600;color:var(--amber);margin-left:6px;white-space:nowrap}

/* --- Dashboard: cycle as one thin bar --- */
.cycmini{position:relative;padding:2px 0 4px}
.cycmini .seg2 span{font-size:10px;letter-spacing:.07em;color:var(--green);white-space:nowrap;text-align:left}
.cycmini .seg2.cur .wks{outline:none}
.cycmini .cycbar{gap:8px}
.cycnext{position:absolute;right:0;bottom:4px;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}

/* --- peek into someone's shared tabs --- */
.peekic{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:var(--line)}
.peekic svg{width:15px;height:15px}
.peekic.go{color:var(--green);background:var(--greenSoft)}
.peekic.go:hover{background:var(--greenEdge)}
.peekin{gap:12px}
.pktop{display:flex;align-items:center;justify-content:space-between}
.pktop .iconbtn{font-size:22px}
.pkhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pkhead b{display:block;font-size:18px;color:var(--ink)}
.pkhead span{font-size:12px;color:var(--muted)}
.pkscore{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.pkscore.fg{color:var(--green)}.pkscore.fa{color:var(--amber)}.pkscore.fr{color:var(--red)}
.pkcard{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:4px}
.pkcard .step{padding:7px 2px}
.pkcard .step.done .box{background:var(--green);border-color:var(--green)}
.edhist.static{cursor:default}
.peekin .sub svg{width:12px;height:12px;vertical-align:-1px}
/* --- preview switch (prototype only, wide screens) --- */
.pvswitch{display:none}
@media (min-width:900px){
  .pvswitch{display:flex;align-items:center;gap:3px;position:fixed;left:16px;bottom:16px;z-index:40;background:var(--ink);color:var(--paper);border-radius:12px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .pvswitch span{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.6;padding:0 8px 0 6px}
  .pvswitch button{padding:7px 12px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--paper);opacity:.75}
  .pvswitch button.on{background:var(--paper);color:var(--ink);opacity:1}
}

.sharebar{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface2);border:1px solid var(--hair);border-radius:12px;padding:11px 12px;font-size:12.5px;color:var(--body)}
.sharebar svg{flex:0 0 auto;width:16px;height:16px;color:var(--green)}
.sharebar span{flex:1}
.sharebar b{color:var(--ink);font-weight:600}
.sharebar em{font-style:normal;font-weight:700;color:var(--green);font-size:12.5px}
.sharebar:hover{border-color:var(--line)}
.peekin h3{margin:0}
.pkhead .pkscore{font-size:24px;color:inherit}
.pkhead .pkscore.fg{color:var(--green)}.pkhead .pkscore.fa{color:var(--amber)}.pkhead .pkscore.fr{color:var(--red)}
.pkcard .big3{gap:8px;padding:2px 0 4px}

/* --- This Week: visuals --- */
.scviz{display:flex;align-items:center;gap:18px}
.ring2{position:relative;flex:0 0 auto;width:104px;height:104px}
.ring2 svg{width:104px;height:104px}
.ring2 circle{fill:none;stroke-width:9}
.ring2 .bg{stroke:var(--sunk)}
.ring2 .fg{stroke:var(--green2);opacity:.7;stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.ring2.fg .fg{stroke:var(--green);opacity:1}
.ring2.idle .fg{stroke:transparent}
.ring2 .mk{fill:var(--surface);stroke:var(--green);stroke-width:2.2}
.ring2 b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.03em;padding-bottom:10px;font-variant-numeric:tabular-nums}
.ring2.fg b{color:var(--green)}.ring2.idle b{color:var(--muted)}
.ring2>span{position:absolute;left:0;right:0;bottom:30px;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.parts{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.part{display:flex;flex-direction:column;gap:7px}
.pl{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--body)}
.pl .ic{width:22px;height:22px}
.pl>span:not(.ic){flex:1}
.pl .ic{flex:0 0 22px}
.pl b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.segs{display:flex;gap:5px}
.segs i{flex:1;height:8px;border-radius:99px;background:var(--sunk)}
.segs i.on{background:var(--amber)}
.pbar{height:8px;border-radius:99px;background:var(--sunk);overflow:hidden}
.pbar i{display:block;height:100%;border-radius:99px;background:var(--green)}
.b3segs{display:flex;gap:6px;margin-top:-2px}
.b3segs i{flex:1;height:6px;border-radius:99px;background:var(--amberSoft);border:1px solid var(--amberEdge)}
.b3segs i.on{background:var(--amber);border-color:var(--amber)}
.pm{flex-direction:row;align-items:flex-start;gap:12px}
.pmi{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.pmi svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pm.p .pmi{background:var(--green)}.pm.m .pmi{background:var(--amber)}.pm.n .pmi{background:var(--ink)}
.pm.n .pmi svg{stroke:var(--paper)}
.pmb{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.wkchart{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;align-items:end;padding:4px 0 2px}
.wcol{display:flex;flex-direction:column;align-items:center;gap:5px}
.wcol .dots{display:flex;flex-direction:column-reverse;gap:3px;min-height:34px;justify-content:flex-start}
.wcol .dots i{width:9px;height:9px;border-radius:3px;background:var(--greenEdge)}
.wcol .dots i.e{background:transparent;border:1px dashed var(--line)}
.wcol.past .dots i.f{background:var(--sunk);border:1px solid var(--line)}
.wcol.now .dots i.f{background:var(--green)}
.wcol.over .dots i.f{background:var(--amber)}
.wcol span{font-size:10px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.wcol.now span{color:var(--green);font-weight:800}

.wkL,.wkR{display:flex;flex-direction:column;gap:14px}
@media (min-width:900px){
  :root:not(.phoneview) #s-week{display:grid;column-count:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;align-items:start}
  :root:not(.phoneview) #s-week>*{margin-bottom:0}
  :root:not(.phoneview) #s-week>:first-child{grid-column:1/-1}
  :root:not(.phoneview) .wkL>*,:root:not(.phoneview) .wkR>*{margin-bottom:0}
}

/* --- This Week, simplified --- */
.ring2 b{padding-bottom:0;font-size:25px}
.ring2 .fg{opacity:.85}
.sctext{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--body)}
.sctext b{color:var(--ink);font-weight:700;margin-left:4px;font-variant-numeric:tabular-nums}
.ring2{width:96px;height:96px}.ring2 svg{width:96px;height:96px}
.pmi{width:26px;height:26px;background:var(--surface)!important;border:1.5px solid currentColor}
.pmi svg{width:14px;height:14px;stroke:currentColor!important}
.pm.p .pmi{color:var(--green)}.pm.m .pmi{color:var(--amber)}.pm.n .pmi{color:var(--ink)}

/* --- edit the big ones --- */
.editlink.sm{font-size:11.5px;padding:2px 6px;margin-left:4px}
.b3pickc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.b3grp{display:flex;flex-direction:column;gap:2px}
.b3grp .sht{margin:4px 0 4px}
.b3pick{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:11px;border:1px solid transparent}
.b3pick:hover{background:var(--surface2)}
.b3pick .pst{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--line)}
.b3pick .pst svg{width:17px;height:17px;fill:currentColor}
.b3pick.on{background:var(--amberSoft);border-color:var(--amberEdge)}
.b3pick.on .pst{color:var(--amber)}
.b3pick .t{flex:1;font-size:14px;color:var(--ink);line-height:1.35}
.b3pick .wkp{font-size:11px;color:var(--muted);font-weight:600}
.b3pick.full{opacity:.45;cursor:default}
.b3pick.full:hover{background:none}

.b3title{display:flex;align-items:center;gap:8px;background:none;text-align:left;border-radius:8px}
.b3title:hover h2{color:var(--amber)}
.b3acts{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.b3acts .btn{width:100%}
.chg{display:flex;flex-direction:column;gap:3px;background:var(--surface);border-radius:10px;padding:8px 10px}
.chg span{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.chg.add span{color:var(--green)}
.chg p{margin:0;font-size:13.5px;color:var(--ink)}

.b3ed{display:flex;align-items:center;gap:8px;padding:4px 0}
.b3ed .pst{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--amber);background:var(--amberSoft)}
.b3ed .pst svg{width:16px;height:16px;fill:currentColor}
.b3ed input{flex:1;min-width:0;padding:9px 11px;font-size:14px;background:var(--surface);border:1px solid var(--amberEdge)}
.b3ed input:focus{border-color:var(--amber)}
.b3ed .kill{opacity:.7;font-size:20px}
.chg.ren span{color:var(--amber)}
.chg s{color:var(--muted)}
.addrow input:disabled,.addrow button:disabled{opacity:.45}

/* --- Goal tab visuals --- */
.donehow span{display:flex;align-items:center;gap:7px}
.dck{width:16px;height:16px;border-radius:50%;background:var(--greenLit);display:grid;place-items:center;flex:0 0 auto}
.dck svg{width:10px;height:10px;stroke:#213E31;stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gtime{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.gtbar{position:relative;height:5px;border-radius:99px;background:rgba(255,255,255,.16);margin-right:5px}
.gtbar i{display:block;height:100%;border-radius:99px;background:var(--greenLit)}
.gtbar b{position:absolute;right:-5px;top:-3px;width:11px;height:11px;border-radius:50%;background:var(--amber)}
.gtlab{display:flex;justify-content:space-between;font-size:11.5px;color:rgba(234,243,238,.7)}
.tchips{display:flex;flex-wrap:wrap;gap:8px}
.tchips span{display:inline-flex;align-items:center;gap:7px;background:var(--greenSoft);border:1px solid var(--greenEdge);color:var(--ink);border-radius:999px;padding:7px 12px 7px 9px;font-size:13.5px;font-weight:600}
.tchips svg{width:15px;height:15px;color:var(--green)}

/* --- Goal tab, round two --- */
.eyebrow.gl{display:flex;align-items:center;gap:7px}
.eyebrow.gl svg{width:14px;height:14px;fill:none;stroke:#E9C874;stroke-width:2}
.qwrap{display:flex;gap:6px;align-items:flex-start}
.qmark{font-family:var(--serif);font-size:54px;line-height:.8;color:var(--amber);opacity:.55;margin-top:2px;flex:0 0 auto}
.rowhead .whyb{margin-left:2px}
.obsum,.stsum{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dias{display:inline-flex;gap:5px}
.dias i{width:8px;height:8px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.stsum .nowpill{font-size:10.5px}

/* --- focus mode while editing --- */
.dimmer{position:absolute;inset:0;z-index:25;background:rgba(8,16,12,.72);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);animation:dimin .18s ease}
.dimmer[hidden]{display:none!important}
@keyframes dimin{from{opacity:0}to{opacity:1}}
.focusme{position:relative;z-index:30;box-shadow:0 0 0 2px var(--green2),0 18px 50px rgba(0,0,0,.4);border-radius:14px}
.bk2.focusme{background:var(--surface);padding:6px 12px 10px;margin:4px -12px}
.aq.focusme{background:var(--amberSoft)}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dimmer{background:rgba(0,0,0,.78)}}
:root[data-theme="dark"] .dimmer{background:rgba(0,0,0,.78)}
:root[data-theme="dark"] .focusme{box-shadow:0 0 0 2px var(--green2),0 0 0 6px rgba(127,211,172,.18),0 20px 60px rgba(0,0,0,.7)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .focusme{box-shadow:0 0 0 2px var(--green2),0 0 0 6px rgba(127,211,172,.18),0 20px 60px rgba(0,0,0,.7)}}

/* --- every pop-up sheet gets the same dark, blurred backdrop as focus mode --- */
.sheet{background:rgba(8,16,12,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.sheetin{box-shadow:0 -10px 40px rgba(0,0,0,.25)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sheet{background:rgba(0,0,0,.8)}
  :root:not([data-theme="light"]) .sheetin{box-shadow:0 0 0 1px var(--greenEdge),0 -12px 50px rgba(0,0,0,.7)}}
:root[data-theme="dark"] .sheet{background:rgba(0,0,0,.8)}
:root[data-theme="dark"] .sheetin{box-shadow:0 0 0 1px var(--greenEdge),0 -12px 50px rgba(0,0,0,.7)}

.sheetin{max-height:84%}

/* --- Intention Ladder on the Dashboard --- */
.stackc{gap:10px}
.stack{display:flex;flex-direction:column}
.lv{position:relative;display:flex;gap:12px;padding-bottom:16px}
.lv:last-child{padding-bottom:0}
.lv::before{content:"";position:absolute;left:8px;top:18px;bottom:-2px;width:2px;background:var(--line)}
.lv:last-child::before{display:none}
.lv .node{flex:0 0 auto;width:18px;height:18px;border-radius:50%;margin-top:1px;position:relative;z-index:1;border:2px solid var(--surface);box-shadow:0 0 0 2px var(--green)}
.lv.v .node{background:var(--surface);box-shadow:0 0 0 2px var(--greenEdge)}
.lv.g .node{background:var(--green)}
.lv.w .node{background:var(--amber);box-shadow:0 0 0 2px var(--amber)}
.lv.t .node{background:var(--green2);box-shadow:0 0 0 2px var(--green2)}
.lvb{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.lvh{display:flex;align-items:center;gap:8px}
.lvl{background:none;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:0}
.lvl span{color:var(--line);margin-left:2px}
.lvl:hover{color:var(--green)}
.lv.w .lvl{color:var(--amber)}
.lvq{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:15.5px;line-height:1.4;color:var(--body)}
.lvq.strong{font-size:17px;color:var(--ink)}
.vmini{display:flex;gap:5px}
.vmini .vs{width:44px;aspect-ratio:1/1;border-radius:7px;border:1px solid var(--line)}
.lv .big3{gap:6px}
.lv .rc{border-radius:11px}
.lv .rs{min-height:78px;padding:12px 14px}
.lv .rs p{font-size:16px}
.lv .gotoday{padding:11px;font-size:14px}

/* --- Intention Ladder: "you are here" strip + full picture --- */
.sstrip{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none;margin-bottom:-4px}
.sstrip::-webkit-scrollbar{display:none}
.sstrip button:not(.whyb){flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:5px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);white-space:nowrap}
.sstrip button.on{background:var(--green);color:#fff}
.sstrip button:not(.on):not(.whyb):hover{color:var(--ink)}
.sstrip i{font-style:normal;color:var(--line);font-size:11px}
.sstrip .sstk{margin-left:4px}
.fun{display:flex;flex-direction:column;align-items:center;gap:5px;margin:4px 0}
.fun div{display:flex;justify-content:space-between;align-items:center;border-radius:10px;padding:10px 14px;color:#fff;font-size:13.5px}
.fun b{font-weight:600}.fun span{font-size:11px;font-weight:600;opacity:.8}
.fun .f1{width:100%;background:#213E31}.fun .f2{width:88%;background:#1B5E43}.fun .f3{width:76%;background:#2E7D5B}.fun .f4{width:64%;background:#4E9E75}.fun .f5{width:52%;background:#B8912A}
@media (min-width:900px){:root:not(.phoneview) #s-week>.sstrip,:root:not(.phoneview) #s-today>.sstrip{grid-column:1/-1}
  :root:not(.phoneview) .screen>.sstrip{column-span:all}}

@media (min-width:900px){
  :root:not(.phoneview) .screen>.sstrip+div,:root:not(.phoneview) .screen>.sstrip+.todayhead{column-span:all}
  :root:not(.phoneview) #s-week>.sstrip+div{grid-column:1/-1}
  :root:not(.phoneview) #s-today>.tside{grid-row:3/span 12}
}

.openbig{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:var(--amberSoft);border:1px solid var(--amberEdge);border-radius:10px;padding:8px 11px;font-size:12.5px;color:var(--body);line-height:1.4}
.openbig svg{flex:0 0 auto;width:14px;height:14px;fill:var(--amber);margin-top:1px}
.openbig b{color:var(--ink);font-weight:600}
.openbig:hover{border-color:var(--amber)}

.tside.flash{animation:tflash 1.4s ease}
@keyframes tflash{0%,100%{box-shadow:0 0 0 0 rgba(184,145,42,0)}25%{box-shadow:0 0 0 4px var(--amber)}60%{box-shadow:0 0 0 4px var(--amberEdge)}}

/* --- Dashboard diagram --- */
.stackd{gap:12px}
.stackd .nsc{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--green)}
.fun button{display:flex;justify-content:space-between;align-items:center;border-radius:10px;padding:10px 14px;color:#fff;font-size:13.5px;text-align:left;transition:transform .15s,filter .15s}
.fun button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.fun button.f1{width:100%;background:#213E31}.fun button.f2{width:88%;background:#1B5E43}.fun button.f3{width:76%;background:#2E7D5B}.fun button.f4{width:64%;background:#4E9E75}.fun button.f5{width:52%;background:#B8912A}
/* --- timer tightened --- */
.ftot{font-size:11.5px;color:var(--muted);white-space:nowrap}
.ftot b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.tside .timerbig{padding-bottom:2px}
.tlink{margin:-10px 0}
/* --- big ones inside the reminders --- */
.tipbig{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:none;border-top:1px solid var(--amberEdge);margin-top:8px;padding-top:9px;font-size:13px;color:var(--body);line-height:1.4}
.tipbig svg{flex:0 0 auto;width:14px;height:14px;fill:var(--amber);margin-top:2px}
.tipbig b{color:var(--ink);font-weight:600}
.tipbig:hover b{text-decoration:underline;text-decoration-color:var(--amberEdge)}
.stq{margin:-4px 0 2px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:14.5px;color:var(--green)}

/* --- Intention Ladder --- */
.ladder{position:relative;display:flex;flex-direction:column;gap:8px;padding:6px 18px}
.ladder::before,.ladder::after{content:"";position:absolute;top:0;bottom:0;width:5px;border-radius:99px;background:var(--line)}
.ladder::before{left:4px}.ladder::after{right:4px}
.rung{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;width:100%;border-radius:10px;padding:10px 14px;color:#fff;font-size:13.5px;text-align:left;transition:transform .15s,filter .15s}
.rung b{font-weight:600}.rung span{font-size:11px;font-weight:600;opacity:.8}
.rung:hover{transform:translateY(-1px);filter:brightness(1.08)}
.rung.r1{background:#213E31}.rung.r2{background:#1B5E43}.rung.r3{background:#2E7D5B}.rung.r4{background:#4E9E75}.rung.r5{background:#B8912A}
.ladcap{text-align:center}

/* --- Today: Big Three as three tiles --- */
.b3today{border-color:var(--amberEdge);gap:12px}
.b3tiles{display:grid;gap:8px}
.b3tiles.n1{grid-template-columns:1fr}.b3tiles.n2{grid-template-columns:1fr 1fr}.b3tiles.n3{grid-template-columns:1fr 1fr 1fr}
.b3tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:var(--surface);border:1.5px solid var(--amberEdge);border-radius:13px;padding:11px 11px 12px;min-height:104px;transition:background .15s,border-color .15s}
.b3tile:hover{border-color:var(--amber)}
.b3n{width:26px;height:26px;border-radius:50%;border:1.8px solid var(--amber);color:var(--amber);font-size:13px;font-weight:800;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.b3n svg{width:13px;height:13px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.b3t{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.b3tile.done{background:var(--amberSoft);border-color:var(--amber)}
.b3tile.done .b3n{background:var(--amber);border-color:var(--amber)}
.b3tile.done .b3t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--amber)}
.b3tiles.n1 .b3tile,.b3tiles.n2 .b3tile{min-height:0}
@media (min-width:900px){:root:not(.phoneview) #s-today>.b3today{grid-column:1}}

/* --- Intention Ladder: funnel + spectrum --- */
.ladwrap{display:flex;gap:10px;align-items:stretch}
.spec{position:relative;flex:0 0 74px;display:flex;flex-direction:column;justify-content:space-between;padding:6px 14px 6px 0;text-align:right}
.spec span{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.spec .s1{color:var(--amber)}.spec .s2{color:#6E8B4A}.spec .s3{color:var(--green)}
.spec i{position:absolute;right:3px;top:2px;bottom:2px;width:2px;border-radius:2px;background:linear-gradient(var(--amber),#6E8B4A,var(--green))}
.spec i::before,.spec i::after{content:"";position:absolute;left:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;transform:translateX(-50%)}
.spec i::before{top:-3px;border-bottom:7px solid var(--amber)}
.spec i::after{bottom:-3px;border-top:7px solid var(--green)}
.fun2{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.rg{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:10px;padding:10px 12px;color:#fff;font-size:13px;text-align:left;transition:transform .15s,filter .15s}
.rg b{font-weight:600;white-space:nowrap}.rg span{font-size:10.5px;font-weight:600;opacity:.85;white-space:nowrap}
.rg:hover{transform:translateY(-1px);filter:brightness(1.08)}
.rg.r1{width:100%;background:#B8912A}.rg.r2{width:92.5%;background:#8E8F3F}.rg.r3{width:85%;background:#5E8F58}.rg.r4{width:77.5%;background:#2E7D5B}.rg.r5{width:70%;background:#1B5E43}

/* --- Today: reminders in green, the Big Three keep gold --- */
.tipbox.gtip{background:var(--greenSoft);border-color:var(--greenEdge);border-left-color:var(--green)}
.tipbox.gtip .eyebrow{color:var(--green)}
.tipbox.gtip .tiph .ic{color:var(--green)}
.tipbox.gtip .tiplist li::marker{color:var(--green)}
.b3today{background:linear-gradient(var(--amberSoft),var(--amberSoft)) top/100% 3px no-repeat,var(--surface)}

/* --- Today: Big Three in green --- */
.b3today{border-color:var(--greenEdge);background:var(--surface)}
.b3tile{border-color:var(--greenEdge)}
.b3tile:hover{border-color:var(--green2)}
.b3n{border-color:var(--green);color:var(--green)}
.b3tile.done{background:var(--greenSoft);border-color:var(--green)}
.b3tile.done .b3n{background:var(--green);border-color:var(--green)}
.b3tile.done .b3t{text-decoration-color:var(--green2)}
/* --- Today: clear add row --- */
.addstep{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1.5px dashed var(--line);border-radius:11px;font-size:14px;font-weight:600;color:var(--green);text-align:left;margin-top:4px}
.addstep span{width:22px;height:22px;border-radius:50%;background:var(--greenSoft);display:grid;place-items:center;font-size:16px;line-height:1}
.addstep:hover{border-color:var(--green2);background:var(--greenSoft)}
.addbox{display:flex;flex-direction:column;gap:6px;border:1px solid var(--greenEdge);border-radius:12px;padding:12px;margin-top:4px;background:var(--surface)}
.addbox label{font-size:12.5px;font-weight:700;color:var(--ink)}
.addbox .hint{margin:0;font-size:11.5px;color:var(--muted)}
.addacts{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:4px}
.addacts .btn{padding:10px}
/* --- Goal tab: calmer --- */
#s-goal{gap:20px}
.whycard.whyopen{background:transparent;border:0;border-left:3px solid var(--amber);border-radius:0;padding:4px 0 4px 16px}
.whycard.whyopen::before{display:none}
.whycard.whyopen .qmark{display:none}
.whycard.whyopen p.q{font-size:19px}
#s-goal .goalcard p{font-size:20px;line-height:1.4}
@media (min-width:900px){
  :root:not(.phoneview) #s-goal{column-count:1;max-width:720px}
  :root:not(.phoneview) #s-goal>*{margin-bottom:20px}
  /* Today: steps and timer side by side, same row */
  :root:not(.phoneview) #s-today>.tipbox,:root:not(.phoneview) #s-today>.b3today{grid-column:1/-1}
  :root:not(.phoneview) #s-today>.todayhead{grid-row:1}
  :root:not(.phoneview) #s-today>.tipbox{grid-row:2}
  :root:not(.phoneview) #s-today>.b3today{grid-row:3}
  :root:not(.phoneview) #s-today>.card.work{grid-column:1;grid-row:4}
  :root:not(.phoneview) #s-today>.tside{grid-column:2;grid-row:4 / span 3;position:sticky;top:0;align-self:start}
}
/* --- Today: a focus tab. Timer beside the steps on desktop --- */
@media (min-width:900px){
  :root:not(.phoneview) #s-today>.tipbox{grid-column:1/-1;grid-row:2}
  :root:not(.phoneview) #s-today>.card.work{grid-column:1;grid-row:3}
  :root:not(.phoneview) #s-today>.tside{grid-column:2;grid-row:3;position:static;align-self:start}
  /* end of day: centred under both columns */
  :root:not(.phoneview) #s-today>#eodOpen,:root:not(.phoneview) #s-today>.eodsub,:root:not(.phoneview) #s-today>.closedbox,:root:not(.phoneview) #s-today>#eodEdit{grid-column:1/-1;justify-self:center;width:min(480px,100%)}
  :root:not(.phoneview) #s-today>#eodOpen{margin-top:8px}
  :root:not(.phoneview) #s-today>.eodcard{grid-column:1/-1;justify-self:center;width:min(760px,100%)}
}
/* --- Wins: folded cards, grouped by week --- */
.wcard .colhead{min-height:28px}
.wgrp{border-top:1px solid var(--hair)}
.wgrp:first-of-type{border-top:0}
.wkrow{display:flex;align-items:center;gap:8px;width:100%;background:none;text-align:left;padding:10px 0;font-size:13.5px;color:var(--ink)}
.wkrow b{font-weight:600}
.wkrow .now{font-size:11px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:999px;padding:2px 8px}
.wkrow .sp{flex:1}
.wkrow .n{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.wkrow .chev{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.wkrow .chev.up{transform:rotate(180deg)}
.wgrp .winlist{padding:0 0 12px}
/* --- Dashboard: two columns on desktop --- */
.dL,.dR{display:contents}
#s-dash>.dL>.stackd{order:0}
@media (min-width:900px){
  :root:not(.phoneview) #s-dash{display:grid;column-count:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;align-items:start}
  :root:not(.phoneview) #s-dash>*{margin-bottom:0}
  :root:not(.phoneview) #s-dash>:not(.dL):not(.dR){grid-column:1/-1}
  :root:not(.phoneview) #s-dash>.dL,:root:not(.phoneview) #s-dash>.dR{display:flex;flex-direction:column;gap:16px;min-width:0}
  :root:not(.phoneview) #s-dash>.dL>.stackd{order:0}
}
/* --- Goal tab v2: finish line, week map, paired obstacles --- */
.goalcard.g2{gap:10px;padding:18px 18px 16px}
.finish{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px 12px;margin-top:4px}
.fflag{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--amber);display:grid;place-items:center}
.fflag svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.finish .fl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(234,243,238,.6);margin-bottom:2px}
.finish b{font-size:15px;font-weight:600;line-height:1.4;color:#fff}
.whycard.whyopen .rowhead{gap:6px}
.whycard.whyopen p.q{margin:0}
.gplan .rowhead{gap:8px}
.grhead{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.gfin{display:flex;align-items:center;gap:5px;color:var(--amber)}
.gfin svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.grail{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.gw{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 0 8px;border-radius:9px;background:var(--surface2);border:1.5px solid transparent;color:var(--muted);transition:background .15s,border-color .15s}
.gw b{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.gw .dots{display:flex;flex-direction:column-reverse;gap:3px;height:33px;justify-content:flex-start}
.gw .dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.55}
.gw.past{background:var(--greenSoft);color:var(--green)}
.gw.past .dots i{background:var(--green2);opacity:1}
.gw.now{border-color:var(--amber);color:var(--ink)}
.gw.now .dots i{background:var(--amber);opacity:1}
.gw.over .dots i{background:var(--red);opacity:1}
.gw.sel{background:var(--green);border-color:var(--green);color:#fff}
.gw.sel .dots i{background:#fff;opacity:1}
.gw:hover:not(.sel){border-color:var(--greenEdge)}
.gwk{display:flex;flex-direction:column;border-top:1px solid var(--hair);padding-top:10px}
.gwk-h{display:flex;align-items:center;gap:8px;padding-bottom:2px}
.gwk-h b{font-size:14px;color:var(--ink)}
.gwk-h .sp{flex:1}
.gwk-h .n{font-size:12.5px;color:var(--muted)}
.pen{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.pen svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bktap:hover .pen,.pen.open{background:var(--greenSoft);color:var(--green)}
.addbank.g2{grid-template-columns:1fr auto;margin-top:8px}
.obsmini{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:none;text-align:left;padding:0}
.om{display:flex;align-items:center;gap:3px}
.om .od{width:8px;height:8px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.om svg{width:13px;height:13px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.om .oc{width:15px;height:15px;border-radius:50%;background:var(--green);display:grid;place-items:center}
.om .oc svg{width:9px;height:9px;stroke:#fff;stroke-width:3.4}
.obsmini em{font-style:normal;font-size:12.5px;color:var(--muted)}
.pairs{display:flex;flex-direction:column;gap:10px}
.pair{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.po{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--amberSoft);font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.4}
.po i{flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:var(--amber);transform:rotate(45deg);margin-top:6px}
.pt{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;font-size:13.5px;color:var(--body);line-height:1.45;background:var(--surface)}
.pt .ic{flex:0 0 auto;width:22px;height:22px}
.pt b{color:var(--green);font-weight:700}
/* --- if-then mini tutorial --- */
.itt{border:1px solid var(--amberEdge);border-radius:12px;background:var(--amberSoft);overflow:hidden}
.itth{display:flex;align-items:center;gap:8px;width:100%;background:none;text-align:left;padding:10px 12px;font-size:13.5px;color:var(--ink)}
.itth .ic{width:22px;height:22px;background:transparent}
.itth .sp{flex:1}
.itt.open .itth{padding-bottom:4px}
.itf{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px 10px;margin:4px 12px 2px;padding:10px 12px;background:var(--surface);border-radius:10px;font-size:13px;color:var(--body)}
.itth .chev{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.itth .chev.up{transform:rotate(180deg)}
.kif,.kth{text-align:center}
.kif,.kth{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 7px}
.kif{background:var(--amber);color:#fff}
.kth{background:var(--green);color:#fff}
.its{margin:8px 12px 0;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--body);line-height:1.45}
.its b{color:var(--ink);font-weight:600}
.its li::marker{color:var(--amber);font-weight:700}
.itx{display:flex;flex-direction:column;gap:6px;margin:10px 12px 12px}
.itx>div{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:9px;font-size:13px;line-height:1.4;background:var(--surface)}
.itx i{flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:800;color:#fff;margin-top:1px}
.itx .bad i{background:var(--red)}
.itx .bad span{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--red)}
.itx .good i{background:var(--green)}
.itx .good i svg{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:3.4}
.itx .good span{color:var(--ink)}
.itx .good b{color:var(--green)}
/* --- one list of action steps --- */
.devlab{display:block;margin:4px 0 -2px}
.viewswv button.on,.viewbell button.on,.viewvis button.on,.viewcircle button.on,.viewnotes button.on,.viewchain button.on,.viewmodel button.on{background:var(--ink);color:var(--paper)}
.scsub{font-size:12px;color:var(--muted)}
.xtra{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);background:var(--surface2);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.grail.d7{grid-template-columns:repeat(7,minmax(0,1fr))}
.grail.d7 .gw{gap:2px}
.gw small{font-size:10.5px;font-weight:600;opacity:.8;font-variant-numeric:tabular-nums}
.grail.d7 .gw .dots{height:39px;margin-top:4px}
.gw .dots i.d{background:var(--green2);opacity:1}
.gw .dots i.o{background:transparent;border:1.5px solid var(--muted);opacity:.7;width:7px;height:7px}
.gw .dots i.late{background:var(--amber);opacity:1}
.gw.now .dots i.o{border-color:var(--amber)}
.gw.sel .dots i.d{background:#fff}
.gw.sel .dots i.o{border-color:#fff;opacity:1}
.gw .dots em{font-style:normal;font-size:9.5px;font-weight:700;line-height:1}
.revpill{font-style:normal;font-size:11px;font-weight:600;color:var(--amber);background:var(--amberSoft);border-radius:999px;padding:2px 8px}
.prow{border-bottom:1px solid var(--hair)}
.prow:last-child{border-bottom:0}
.prl{display:flex;align-items:center;gap:10px;padding:6px 0}
.prl .box{margin-top:0}
.prow.done .box{background:var(--green);border-color:var(--green)}
.prow.done .box svg{opacity:1;transform:scale(1)}
.prow.done .ptap .t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--greenEdge)}
.pdot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--line);display:grid;place-items:center}
.pdot.d{background:var(--green2);border-color:var(--green2)}
.pdot svg{width:10px;height:10px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ptap{flex:1;display:flex;align-items:center;gap:8px;background:none;text-align:left;min-width:0;padding:4px 0}
.ptap .t{flex:1;font-size:14px;color:var(--ink);line-height:1.4}
.pday{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:999px;padding:2px 8px}
.pday.none{color:var(--muted);background:var(--surface2)}
.dchips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dchip{padding:7px 0;border-radius:8px;font-size:12px;font-weight:600;background:var(--surface2);color:var(--ink);border:1.5px solid transparent;text-align:center}
.dchip.tdy{border-color:var(--amber)}
.dchip.past{color:var(--muted)}
.dchip.on{background:var(--green);color:#fff;border-color:var(--green)}
.dchip.full{opacity:.4}
.mvnext{align-self:flex-start;font-size:13px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:9px;padding:8px 12px}
.gwk.nod{margin-top:6px}
.step.editing.p1e{flex-direction:column;align-items:stretch;gap:8px}
.p1erow{display:flex;gap:6px;align-items:center}
.p1erow input{flex:1;min-width:0}
.overcard{border-color:var(--amberEdge)}
.ovrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--hair)}
.ovrow:first-of-type{border-top:0}
.ovrow .t{flex:1;font-size:14px;color:var(--ink);line-height:1.4}
.ovrow time{display:block;font-size:11.5px;color:var(--muted)}
.mv2{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:9px;padding:7px 11px}
.ovrow.cg{flex-direction:column;align-items:stretch;gap:8px}
.cbrem{margin:6px 0 2px!important;font-weight:600;color:var(--ink)!important}
.bygo{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;background:var(--greenSoft);border:1px solid var(--greenEdge)}
.bygo b{font-size:16px;color:var(--ink);line-height:1.35}
.bygo p{margin:0 0 4px;font-size:14px;color:var(--body)}
.bygo .btn.quiet{background:var(--surface)}
.askq2{margin:0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}
.pksch{flex:0 0 auto;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--greenSoft);color:var(--green)}
.pksch svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pkkeep{margin-top:8px!important}
.clearrule{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface2);margin-top:4px}
.clearrule b{font-size:13px;color:var(--ink)}
.clearrule span{font-size:12.5px;color:var(--body)}
.clearrule em{font-style:normal;font-size:12px;color:var(--muted)}
.cgkey{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;background:var(--surface2)}
.cgkey p{margin:0;font-size:12.5px;color:var(--body);line-height:1.4;display:flex;flex-direction:column;gap:1px}
.cgkey b{color:var(--ink);font-size:13px}
.cgkey{gap:8px}
.cgres{margin:0;font-size:12.5px;font-weight:600;color:var(--muted)}
.cgres.mv{color:var(--green)}
.ovrow.gone .t{text-decoration:line-through;text-decoration-color:var(--muted);color:var(--muted)}
.pulse2{display:flex;flex-direction:column;gap:10px}
.pq2{--c1:var(--red);--c2:#C9803A;--c3:#8C9A93;--c4:var(--green2);--c5:var(--green);display:flex;flex-direction:column;gap:6px;padding:13px 13px 11px;border-radius:14px;background:var(--surface2);border:1px solid transparent}
.pq2.done{background:var(--surface);border-color:var(--line)}
.pqh{display:flex;align-items:center;gap:8px}
.pqh b{font-size:15px;color:var(--ink)}
.pq2>p{margin:0;font-size:13px;color:var(--muted);line-height:1.4}
.pv{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;color:#fff}
.pv.v1{background:var(--c1)}.pv.v2{background:var(--c2)}.pv.v3{background:var(--c3)}.pv.v4{background:var(--c4)}.pv.v5{background:var(--c5)}
.scale2{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:4px}
.scale2 button{display:grid;place-items:center;text-align:center;height:44px;border-radius:11px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;border:1.5px solid transparent;transition:transform .12s}
.scale2 button.v1{--k:var(--c1)}.scale2 button.v2{--k:var(--c2)}.scale2 button.v3{--k:var(--c3)}.scale2 button.v4{--k:var(--c4)}.scale2 button.v5{--k:var(--c5)}
.scale2 button{background:color-mix(in srgb,var(--t,var(--k)) 14%,var(--surface));color:var(--t,var(--k))}
.scale2 button.v5{--t:var(--green2)}
.scale2 button[aria-pressed="true"].v5{--t:var(--green)}
.scale2 button:hover{border-color:var(--k)}
.scale2 button[aria-pressed="true"]{background:var(--k);color:#fff;transform:scale(1.06);box-shadow:0 3px 10px color-mix(in srgb,var(--k) 35%,transparent)}
.anchors2{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.pmnin{margin-bottom:6px}
.pksch{flex:0 0 auto;width:auto;height:auto;display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600;background:var(--greenSoft);color:var(--green)}
.pksch svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pkkeep{background:var(--amberSoft)!important;color:var(--amber)!important;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)!important}
.rph{display:flex;align-items:center;gap:6px}
.rph .t{flex:1}
.rpic{flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);font-size:18px;line-height:1}
.rpic:hover{background:var(--surface2);color:var(--ink)}
.rpic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.rpi.ed{gap:4px}
.rpcancel{align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--muted);padding:4px 0}
.clearrule .addbank{margin-top:8px;border-top:0;padding-top:0}
.clearrule .addbank input{background:var(--surface)}
.rph .t .cartag{display:inline-block;white-space:nowrap;margin-left:4px}
.cgseg{display:inline-flex;align-self:flex-start;background:var(--surface2);border-radius:10px;padding:3px;gap:2px}
.cgseg button{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:8px;color:var(--muted)}
.cgseg button.on{background:var(--green);color:#fff}
.cgseg button.on.off{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.carry{flex:0 0 auto;font-size:12.5px;font-weight:600;border-radius:9px;padding:7px 11px;background:var(--surface2);color:var(--muted)}
.carry.on{background:var(--greenSoft);color:var(--green)}
.rvsc{display:flex;align-items:baseline;gap:10px}
.rvsc b{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}
.rvsc b.fg{color:var(--green)}.rvsc b.fa{color:var(--amber)}.rvsc b.fr{color:var(--red)}
.rvsc span{font-size:13px;color:var(--muted)}
.rplist{display:flex;flex-direction:column;gap:12px}
.rpi{display:flex;flex-direction:column;gap:6px}
.rpi .t{font-size:14px;color:var(--ink)}
.cartag{font-style:normal;font-size:10.5px;font-weight:700;color:var(--amber);background:var(--amberSoft);border-radius:999px;padding:1px 7px;margin-left:4px}
.tmr{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.tmri{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;background:var(--greenSoft);font-size:14px;color:var(--ink)}
.tmri span{flex:1}
.wstats.w3{grid-template-columns:repeat(3,1fr)}
.dw .grail.d7 .gw{padding:6px 0 6px}
@media (min-width:900px){
  :root:not(.phoneview) #s-today>.overcard{grid-column:1}
}
/* --- past days stay, move to tomorrow, coach plan changes --- */
.pastnote{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.dchip:disabled{opacity:.35;cursor:default}
.dchip.on:disabled{opacity:1}
.mvtm{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:8px;padding:6px 9px}
.tmrl{margin:2px 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tmri.open{background:var(--surface2)}
.pchg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pchg div{background:var(--surface);padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.pchg b{font-size:19px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.pchg span{font-size:11.5px;color:var(--muted);line-height:1.3}
.pchg em{display:block;font-style:normal;color:var(--amber);font-weight:600}
.pushed{display:flex;flex-direction:column;gap:4px}
.pushed p{margin:0;font-size:13.5px;color:var(--ink)}
.pushed em{font-style:normal;font-size:12px;color:var(--amber);font-weight:600;margin-left:4px}
/* --- Goal tab: fold long weeks; roomier editor box --- */
.showall{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 0;margin-top:2px;font-size:13px;font-weight:600;color:var(--green);background:none;border-top:1px solid var(--hair)}
.showall .chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.showall .chev.up{transform:rotate(180deg)}
.prow.focusme{background:var(--surface);padding:6px 16px 16px;margin:6px -16px;border-bottom:0}
.prow.focusme .gedit{gap:14px}
/* --- delete warning --- */
.delwarn{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:10px;padding:11px 12px;background:var(--surface)}
.delwarn b{font-size:14px;color:var(--ink)}
.delwarn p{margin:0;font-size:13px;color:var(--body);line-height:1.45}
.dwb{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-top:4px}
.dwb .btn{padding:10px}
.dwgo{display:grid;place-items:center;text-align:center;border-radius:12px;padding:11px;font-size:15px;font-weight:600;color:var(--red);background:var(--redSoft);align-self:stretch}
.dwb .btn{padding:11px}
/* --- mid-week score stays neutral: only 85% and up is green --- */
.ring2.live .fg{stroke:var(--muted);opacity:.75}
.scnext.live{border-left-color:var(--muted)}
.wc i.cur{background:var(--muted);opacity:.45}
/* --- how the score works --- */
.sfx{display:flex;flex-direction:column;gap:8px;background:var(--surface2);border-radius:12px;padding:12px}
.sfn{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13.5px}
.sfn b{font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px 9px}
.sfn b.sfr{background:var(--green);border-color:var(--green);color:#fff}
.sfn i{font-style:normal;font-weight:700;color:var(--muted)}
.sfe{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.sfl{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:var(--body);line-height:1.45}
.sfn2{display:flex;gap:9px;align-items:flex-start;margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.sfn2 svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px}
.sfq{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.frac{display:inline-flex;flex-direction:column;align-items:center;text-align:center;font-size:13.5px;font-weight:600;color:var(--ink)}
.frac span{display:block;width:100%;padding:3px 4px}
.frac span:first-child{border-bottom:2px solid var(--ink)}
.sfq i{font-style:normal;font-weight:700;font-size:16px;color:var(--muted)}
.sfq b.sfr{font-size:13.5px;font-weight:700;background:var(--green);color:#fff;border-radius:8px;padding:6px 10px}
.sdots{display:flex;flex-wrap:wrap;gap:5px}
.sdots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:var(--surface)}
.sdots i.d{background:var(--green2);border-color:var(--green2)}
.sfbig{margin:2px 0 0;font-size:14.5px;color:var(--ink);line-height:1.4}
.sfeq{margin:0;font-size:14px;color:var(--body);font-variant-numeric:tabular-nums}
.sfeq b{font-size:18px;color:var(--ink)}
.sfgo{margin:0;font-size:13.5px;color:var(--muted)}
.sfgo b{color:var(--green)}
/* --- Intention Chain --- */
.chaind .stq{margin:0}
.chwrap{position:relative}
.chsvg{display:block;width:100%;height:auto}
.chlab,.chhit{display:grid;grid-template-columns:repeat(5,1fr);margin-left:4.8%;margin-right:4.8%}
.chlab{margin-top:6px}
.chlab div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;padding:0 2px}
.chlab b{font-size:12.5px;font-weight:700;line-height:1.2;color:var(--ink)}
.chlab span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.chlab .c1 b{color:#B8912A}.chlab .c5 b{color:var(--green)}
.chhit{position:absolute;top:0;bottom:0;left:0;right:0}
.chhit button{background:none;border-radius:12px}
.chhit button:hover{background:rgba(27,94,67,.06)}
.chspec{display:flex;justify-content:space-between;position:relative;margin:4px 0 0;padding-top:12px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.chspec::before{content:"";position:absolute;left:0;right:6px;top:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#B8912A,#5E8F58 50%,#1B5E43)}
.chspec::after{content:"";position:absolute;right:0;top:0;border:5px solid transparent;border-left:7px solid #1B5E43;border-right:0}
.chspec span:nth-child(1){color:#B8912A}.chspec span:nth-child(2){color:#5E8F58}.chspec span:nth-child(3){color:var(--green)}
/* vertical chain */
.chv{position:relative;display:grid;grid-template-columns:auto 96px 1fr;gap:0 14px;align-items:stretch}
.chvlinks .chsvg{width:96px;height:auto}
.chvlab{position:relative}
.chvlab div{position:absolute;left:0;transform:translateY(-50%);display:flex;flex-direction:column;gap:1px}
.chvlab b{font-size:15px;font-weight:700;color:var(--ink)}.chvlab span{font-size:12px;color:var(--muted)}
.chvlab .c1 b{color:#B8912A}.chvlab .c5 b{color:var(--green)}
.chvspec{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:6px 14px 6px 0;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.chvspec i{position:absolute;right:2px;top:4px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(180deg,#B8912A,#5E8F58 50%,#1B5E43)}
.chvspec i::after{content:"";position:absolute;left:-4px;bottom:-7px;border:5px solid transparent;border-top:7px solid #1B5E43;border-bottom:0}
.chvspec span:nth-child(1){color:#B8912A}.chvspec span:nth-child(2){color:#5E8F58}.chvspec span:nth-child(3){color:var(--green)}
.chvhit{position:absolute;inset:0}
.chvhit button{position:absolute;left:0;right:0}
.chvhit button{background:none;border-radius:12px}
.chvhit button:hover{background:rgba(27,94,67,.06)}
:root[data-theme="dark"] .chsvg rect:nth-of-type(5){stroke:#2E9E6B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chsvg rect:nth-of-type(5){stroke:#2E9E6B}}
/* --- missed by the end of the week: red --- */
.gw .dots i.miss{background:var(--red);border-color:var(--red);opacity:1}
.gw.sel .dots i.miss{background:#fff;box-shadow:0 0 0 2px var(--red)}
.prow.missed .pdot,.prow.missed .box{border-color:var(--red)}
.prow.missed .ptap .t{color:var(--ink)}
.misstag{font-style:normal;font-size:10.5px;font-weight:700;color:var(--red);background:var(--redSoft);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.ovrow.miss{border-left:3px solid var(--red);padding-left:10px;border-top-color:transparent;margin-top:6px}
.ovrow.miss time{color:var(--red)}
.misshd{color:var(--red)}
.shw{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--body);line-height:1.45}
.shw b{color:var(--ink)}
.shw li::marker{color:var(--green);font-weight:700}
/* --- parked actions --- */
.capbtn{color:var(--green)}
.capbtn:hover{background:var(--greenSoft)}
.capbox{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.capbox label{font-size:17px;font-weight:700;color:var(--ink)}
.capbox .hint{margin:0;font-size:12.5px;color:var(--muted)}
.capnudge{margin:0;font-size:13px;line-height:1.45;color:var(--ink);background:var(--amberSoft);border-left:3px solid var(--amber);border-radius:8px;padding:8px 10px}
.capnudge b{color:var(--amber)}
.tcap{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;padding:9px;border:1.5px dashed var(--line);border-radius:11px;font-size:13.5px;font-weight:600;color:var(--green);background:none}
.tcap span{width:20px;height:20px;border-radius:50%;background:var(--greenSoft);display:grid;place-items:center;font-size:15px;line-height:1}
.tcap:hover{border-color:var(--green2)}
.pkrow{border-top:1px solid var(--hair)}
.pkrow:first-of-type{border-top:0}
.pkl{display:flex;align-items:center;gap:10px;padding:8px 0}
.pkd{flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.pkl .t{flex:1;font-size:14px;color:var(--ink);line-height:1.4}
.pkplace{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface2);border-radius:9px;padding:7px 11px}
.pkrow.open .pkplace{background:var(--green);color:#fff}
.pkrow .gedit{padding:2px 0 12px}
.chip.amb{background:var(--amberSoft);color:var(--amber);border-color:var(--amberEdge)}
.pkcard2 .addstep{margin-top:6px}
/* --- onboarding --- */
.obtop{display:flex;flex-direction:column;gap:8px}
.obbar{height:6px;border-radius:99px;background:var(--surface2);overflow:hidden}
.obbar i{display:block;height:100%;background:var(--green);border-radius:99px}
.obgoal p{font-size:16px}
.obtitle{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.obq{margin:0;font-size:14.5px;color:var(--body);line-height:1.5}
.oblist1{display:flex;flex-direction:column}
.obi{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair)}
.obi:last-child{border-bottom:0}
.obn{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--greenSoft);color:var(--green);font-size:11.5px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.obi .t{flex:1;font-size:14.5px;color:var(--ink);line-height:1.4}
.obv{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--amber)}
.greet{display:block;width:100%;font-size:14px;font-weight:600;color:var(--green);margin-bottom:2px}
.todayhead .dayline{flex-wrap:wrap}
.avatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;overflow:hidden;padding:0;background:var(--greenSoft);color:var(--green);display:grid;place-items:center;font-size:20px;font-weight:700;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--amber)}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.sm{width:28px;height:28px;font-size:12px;box-shadow:0 0 0 2px var(--amber);margin-right:8px;vertical-align:middle}
.greet.sg{display:flex;align-items:center}
.dhello{display:flex;align-items:center;gap:14px;margin-bottom:2px}
@media (max-width:899px){.dhello{gap:12px;margin-bottom:-4px}.dhello .avatar{width:42px;height:42px}.dhello b{font-size:17.5px}.dhello span{font-size:12.5px}}
:root.phoneview .dhello{gap:12px;margin-bottom:-4px}:root.phoneview .dhello .avatar{width:42px;height:42px}:root.phoneview .dhello b{font-size:17.5px}
.dhello b{display:block;font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.dhello span{font-size:13px;color:var(--muted)}
.wvbar{flex:0 0 auto;width:100%;background:var(--ink);color:var(--paper);padding:10px 16px}
@media (max-width:600px){.wkbi b{display:none}.wkbi p{font-size:12px;flex-basis:100%}.wkseg{width:100%}.wkseg button{flex:1;padding:7px 4px}}
.wkbi{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.wkbi b{font-size:13px;letter-spacing:.02em}
.wkseg{display:flex;gap:3px;background:rgba(255,255,255,.1);border-radius:10px;padding:3px}
.wkseg button{padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--paper);opacity:.75}
.wkseg button.on{background:var(--paper);color:var(--ink);opacity:1}
.wkbi p{margin:0;flex:1 1 260px;font-size:12.5px;opacity:.8}
:root.weekview .stage{justify-content:flex-start}
:root.weekview .frame{height:auto;flex:1;min-height:0}
.viewstage button.on{background:var(--ink);color:var(--paper)}
.grhead h2{margin:4px 0 2px;font-size:22px;letter-spacing:-.02em;color:var(--ink)}
.grhead p{margin:0;font-size:14px;color:var(--muted)}
.grlist{gap:0;padding:6px 14px}
.gri{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hair)}
.gri:first-child{border-top:0}
.grc{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:14px;font-weight:800;color:#fff}
.gri.done .grc{background:var(--green);border-color:var(--green)}
.grt{flex:1;min-width:0;display:flex;flex-direction:column}
.grt b{font-size:14.5px;color:var(--ink)}
.grt em{font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.35}
.grt .opt{display:inline;font-size:11.5px;font-weight:500}
.gri.done .grt b{color:var(--muted);text-decoration:line-through}
.grdone{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:14px;background:var(--greenSoft);border:1px solid var(--greenEdge)}
.grdone b{color:var(--green);font-size:15px}.grdone span{font-size:13.5px;color:var(--body)}
.mgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px}
.mg{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px;color:var(--ink);text-align:center}
.mg em{font-style:normal;color:var(--muted);font-size:11px}
.mga{width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--greenSoft);color:var(--green);font-weight:700;font-size:18px}
.mga img{width:100%;height:100%;object-fit:cover}
.obpic{display:flex;align-items:center;gap:12px;margin-top:8px}
.obpic b{display:block;font-size:13.5px;color:var(--ink)}.obpic em{font-style:normal;font-size:12.5px;color:var(--muted)}
.obtog{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin-top:8px;padding:10px 0 0;border-top:1px solid var(--hair)}
.obtog span{flex:1;display:flex;flex-direction:column}.obtog b{font-size:13.5px;color:var(--ink)}.obtog em{font-style:normal;font-size:12.5px;color:var(--muted)}
.rvlock{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.rvlock b{font-size:16px;color:var(--ink)}.rvlock p{margin:0;font-size:14px;color:var(--muted)}
:root.st1 .dblast{visibility:hidden}
.vxtop{display:flex;flex-direction:column;gap:8px}
.vxbars{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.vxbars i{height:5px;border-radius:99px;background:var(--line)}.vxbars i.on{background:var(--green)}
.vxcard{gap:8px;padding:18px 16px}
.vxnum{align-self:flex-start;min-width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--greenSoft);color:var(--green);font-size:18px;font-weight:800;padding:0 6px}
.vxcard textarea{font-size:15.5px;line-height:1.5;min-height:110px}
.vxcard input{margin-bottom:6px}
.vxlab{font-size:13px;font-weight:700;color:var(--ink)}
.vxex{margin:4px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.vxex b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:2px}
.vxhint{margin:0;font-size:12.5px;color:var(--muted)}
.vstart{align-items:center;text-align:center;gap:8px;padding:28px 18px}
.vsico{font-size:34px;line-height:1}
.vstart b{font-size:18px;color:var(--ink)}.vstart p{margin:0;font-size:14px;color:var(--body)}
.vstart .btn{align-self:stretch;margin-top:6px}
.vpriv{margin:0;font-size:12.5px;color:var(--muted);text-align:center}
.v3y{gap:4px}
.v3r{border-top:1px solid var(--hair);padding:4px 0}
.v3y .rowhead+.v3r{border-top:0}
.v3h{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:8px 0}
.v3i{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface2);font-size:17px}
.v3t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.v3t b{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green)}
.v3t span{font-size:14.5px;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v3r.open .v3t span{-webkit-line-clamp:unset;display:block}
.v3e{margin:0 0 6px 46px}
.v3h .chev{width:16px;height:16px;margin-top:10px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:transform .2s}
.v3h .chev.up{transform:rotate(180deg)}
.vbl{gap:4px}
.vbi{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:9px 0;border-top:1px solid var(--hair);font-size:14.5px;color:var(--ink)}
.vbl .rowhead+.vbi{border-top:0}
.vbi.done span:last-child{color:var(--muted);text-decoration:line-through}
.vbi.done .box{background:var(--amber);border-color:var(--amber)}
.vbul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.vbul li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--hair);font-size:14.5px;color:var(--ink);line-height:1.4}
.vbul li:first-child{border-top:0}
.vbul li::before{content:"";position:absolute;left:3px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--amber)}
.vhero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;border-radius:20px;background:var(--greenDeep);color:#fff;border-top:4px solid var(--amber);box-shadow:0 14px 34px rgba(16,42,32,.18)}
.vhh{display:flex;align-items:center;gap:8px}
.vhh span{flex:1;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#E3C77A}
.vhero p{position:relative;z-index:1;margin:0;font-family:var(--serif);font-style:italic;font-size:17.5px;line-height:1.4;color:#fff;letter-spacing:.003em}
.vhero em{font-style:normal;font-size:12px;color:rgba(234,243,238,.65)}
.vpen{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted)}
.vpen:hover{background:var(--surface2);color:var(--green)}
.vpen svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.vpen.lt{color:rgba(255,255,255,.7)}.vpen.lt:hover{background:rgba(255,255,255,.1);color:#fff}
.vsec{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.vsh{display:flex;align-items:center;gap:8px;min-height:28px}
.vsh .eyebrow{color:var(--green)}
.vsh .sp{flex:1}
.vsub{margin:0;font-size:12.5px;color:var(--muted)}
.vsec .vtile{border-radius:14px;aspect-ratio:1/1}
.v3g{display:flex;flex-direction:column;gap:10px}
.v3c{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.v3ic{flex:0 0 auto;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--greenSoft);color:var(--green)}
.v3ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v3b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.v3l{display:flex;align-items:center;gap:6px;margin-top:-4px}
.v3l b{flex:1;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.v3b p{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink)}
.vdg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vdt{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--amberSoft);border:1px solid color-mix(in srgb,var(--amber) 22%,transparent);min-height:96px}
.vdt svg{width:20px;height:20px;fill:var(--amber);stroke:none}
.vdt span{font-size:14.5px;font-weight:600;line-height:1.35;color:var(--ink)}
@media (min-width:900px){:root:not(.phoneview) .vdg{grid-template-columns:repeat(4,minmax(0,1fr))}:root:not(.phoneview) #s-vision .vsec .vtile{aspect-ratio:1/1}}
.vfoot{display:flex;flex-direction:column;gap:10px;align-items:stretch}
@media (min-width:900px){:root:not(.phoneview) #s-vision .vgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vsline{margin:0 0 2px;font-family:var(--serif);font-style:italic;font-size:14.5px;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.obwel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 0 6px}
.obbolt{font-size:44px;line-height:1}
.obf{gap:8px}
.obf label{font-size:13px;font-weight:700;color:var(--ink);margin-top:4px}
.obf textarea,.obf input{width:100%}
.obend{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.obend button{display:grid;place-items:center;text-align:center;white-space:nowrap;padding:12px 0;border-radius:10px;background:var(--surface2);font-size:13px;font-weight:700;color:var(--ink)}
.obend button.on{background:var(--green);color:#fff}
.obrem{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--blueSoft);font-size:13.5px;color:var(--ink)}
.obprog{font-size:13.5px;color:var(--muted)}
.obprog b{color:var(--green)}
.obw{display:flex;flex-direction:column;gap:7px;padding:10px 0;border-bottom:1px solid var(--hair)}
.obw:last-child{border-bottom:0}
.obw .t{font-size:14.5px;color:var(--ink);font-weight:500}
.obtiles{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.obt{padding:7px 0;text-align:center;display:grid;place-items:center;border-radius:8px;background:var(--surface2);font-size:12.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.obt.on{background:var(--green);color:#fff}
.obnav{display:grid;grid-template-columns:1fr 2fr;gap:8px}
@media (min-width:900px){:root:not(.phoneview) #s-onboard{column-count:1;max-width:720px}}
/* --- Goal tab: 10 weeks as a journey line --- */
.jr{display:flex;flex-direction:column;gap:6px}
.jph{display:flex;gap:4px;padding-right:22px}
.jph span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;border-bottom:2px solid var(--line);padding-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jph span.cur{color:var(--amber);border-bottom-color:var(--amber)}
.jn{position:relative;display:flex;align-items:flex-start;gap:4px;padding:2px 22px 0 0}
.jline,.jfill{position:absolute;left:14px;top:17px;height:3px;border-radius:3px}
.jline{right:10px;background:var(--line)}
.jfill{background:var(--green2);max-width:calc(100% - 36px)}
.jw{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;padding:0}
.jc{position:relative;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--surface);border:2px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;transition:transform .15s}
.jw.past .jc{background:var(--greenSoft);border-color:var(--green2);color:var(--green)}
.jw.now .jc{border-color:var(--amber);color:var(--ink);border-width:2.5px}
.jw.sel .jc{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.12)}
.jm{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid var(--surface)}
.jk{font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.jw.sel .jk{color:var(--green)}
.jflag{position:absolute;right:0;top:6px;color:var(--amber)}
.jflag svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* --- This Week: seven calendar pages --- */
.grail.d7 .gw{padding:0 0 8px;overflow:hidden;gap:0;border:1.5px solid var(--line);background:var(--surface)}
.grail.d7 .gw .dh{display:block;width:100%;padding:4px 0 3px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--surface2);color:var(--muted)}
.grail.d7 .gw .dd{font-size:19px;font-weight:700;margin-top:5px;color:var(--ink)}
/* compact day columns: dots sit in a short row under the date instead of a tall stack */
.grail.d7 .gw{padding-bottom:6px}
.grail.d7 .gw .dd{font-size:17px;margin-top:2px;line-height:1.2}
.grail.d7 .gw .dots{flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start;height:auto;min-height:7px;max-width:32px;margin-top:3px;gap:3px}
.grail.d7 .gw.past{background:var(--surface)}
.grail.d7 .gw.past .dd{color:var(--muted)}
.grail.d7 .gw.now{border-color:var(--amber)}
.grail.d7 .gw.now .dh{background:var(--amber);color:#fff}
.grail.d7 .gw.sel{background:var(--green);border-color:var(--green)}
.grail.d7 .gw.sel .dh{background:rgba(0,0,0,.18);color:#fff}
.grail.d7 .gw.sel .dd{color:#fff}
.grail.d7 .dots{height:30px;margin-top:4px}
.grail.d7 .gw .dh{text-align:center}
.grail.d7 .gw .dd{background:none!important;border:0!important;padding:0!important;border-radius:0!important;width:auto!important;height:auto!important;box-shadow:none!important;line-height:1.1}
.jph span{overflow:visible;text-overflow:clip;letter-spacing:.03em;font-size:9.5px}
/* --- Goal tab: ten weeks as one bar --- */
.wbar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}
.ws{position:relative;height:36px;border-radius:6px;background:var(--surface2);color:var(--muted);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;display:grid;place-items:center;transition:transform .15s}
.ws:first-child{border-radius:12px 6px 6px 12px}.ws:last-child{border-radius:6px 12px 12px 6px}
.ws.past{background:var(--greenSoft);color:var(--green)}
.ws.now{background:var(--amberSoft);color:var(--amber);box-shadow:inset 0 0 0 2px var(--amber)}
.ws.sel{background:var(--green);color:#fff;box-shadow:none;transform:translateY(-2px)}
.ws.sel::after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-6px;border:6px solid transparent;border-top:6px solid var(--green);border-bottom:0}
.wends{display:flex;justify-content:space-between;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:2px}
.wends .gfin{display:flex;align-items:center;gap:4px;color:var(--amber)}
/* --- Parked Actions: always the leftmost tile --- */
.wbar{grid-template-columns:40px repeat(10,minmax(0,1fr))}
.grail.d7.wpk{grid-template-columns:40px repeat(7,minmax(0,1fr))}
.pkt{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--amberSoft)!important;color:var(--amber)!important;border:1.5px dashed var(--amberEdge)!important;box-shadow:none!important}
.pkt .pki svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.pkt b{font-size:12.5px;font-weight:700;line-height:1;color:inherit!important;background:none!important;padding:0!important}
.pkt.empty{opacity:.6}
.pkt.sel{background:var(--amber)!important;color:#fff!important;border:1.5px solid var(--amber)!important;transform:translateY(-2px)}
.ws.pkt.sel::after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-6px;border:6px solid transparent;border-top:6px solid var(--amber);border-bottom:0}
.ws.pkt{border-radius:12px 6px 6px 12px}.wbar .ws:nth-child(2){border-radius:6px}
.grail.d7 .gw.pkt{padding:0;border-radius:10px}
.pkpanel .addstep{margin-top:8px}
.capacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.capacts .btn{padding:11px}
.wkpicker .opt{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}
.psign{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--amber);color:#fff;font-size:14px;font-weight:800;line-height:1;font-family:var(--ui)}
.pkt.sel .psign{background:#fff;color:var(--amber)}
.psign.sm{width:24px;height:24px;flex:0 0 auto}
.cwk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cw{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 2px;border-radius:10px;background:var(--surface2);border:1.5px solid transparent;color:var(--ink)}
.cw b{font-size:13px;font-weight:700}
.cw span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.cw.now{border-color:var(--amber)}
.cw.on{background:var(--green);border-color:var(--green);color:#fff}
.cw.on span{color:rgba(255,255,255,.85)}
.dchip2{display:flex;flex-direction:column;align-items:center;gap:0;padding:6px 0}
.dchip2 span{font-size:11px;font-weight:600;opacity:.85}
.dchip2 b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
/* parked tile follows the same pattern as its neighbours */
.grail.d7 .gw.pkt{display:flex!important;flex-direction:column;justify-content:flex-start!important;gap:0;padding:0 0 8px!important;border:1.5px solid var(--amberEdge)!important;background:var(--surface)!important;color:var(--amber)!important}
.grail.d7 .gw.pkt .dh{background:var(--amberSoft);color:var(--amber)}
.grail.d7 .gw.pkt .dd{color:var(--amber)!important}
.grail.d7 .gw.pkt.sel{background:var(--amber)!important;border-color:var(--amber)!important}
.grail.d7 .gw.pkt.sel .dh{background:rgba(0,0,0,.14);color:#fff}
.grail.d7 .gw.pkt.sel .dd{color:#fff!important}
.ws.pkt{border:0!important;background:var(--amberSoft)!important;color:var(--amber)!important}
.ws.pkt .pl{font-size:13.5px;font-weight:800;color:inherit!important}
.ws.pkt .pkc{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--amber);color:#fff;font-style:normal;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}
.ws.pkt.sel{background:var(--amber)!important;color:#fff!important}
.ws.pkt.sel .pkc{background:#fff;color:var(--amber)}
.grail.d7 .gw.pkt.empty,.ws.pkt.empty{opacity:.65}
/* Goal tab bar: one letter over one number, room to breathe */
.wbar{grid-template-columns:repeat(11,minmax(0,1fr))!important;gap:5px!important}
.ws{height:52px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:10px!important;font-size:inherit}
.ws .wl{font-size:10px;font-weight:700;letter-spacing:.06em;opacity:.75}
.ws .wn{font-size:16px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:inherit}
.ws.pkt{border-radius:10px!important}
.ws.pkt .wl{opacity:1}
.ws.sel{transform:translateY(-3px)}
@media (min-width:900px){:root:not(.phoneview) .wbar{gap:8px!important}:root:not(.phoneview) .ws{height:58px!important}}
.btn:disabled{background:var(--surface2);color:var(--muted);box-shadow:none;cursor:default}
/* --- Dashboard: one screen, no scrolling --- */
#s-dash{gap:10px}
.dhd{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.dhl{display:flex;flex-direction:column;gap:2px}
.dhl b{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1.1}
.dleft{font-size:12.5px;color:var(--muted);white-space:nowrap}
.dleft b{font-size:15px;color:var(--ink)}
.dwk{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}
.dwk i{height:5px;border-radius:3px;background:var(--line)}
.dwk i.d{background:var(--green2)}
.dwk i.n{background:var(--amber)}
.dsc{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}
.dsct{display:flex;flex-direction:column;gap:0;padding:10px 14px}
.dsct+.dsct{border-left:1px solid var(--hair)}
.dsct span{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.dsct b{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}
.dsct b.fg{color:var(--green)}.dsct b.fa{color:var(--amber)}.dsct b.fr{color:var(--red)}.dsct b.idle{color:var(--muted)}
.dsct em{font-style:normal;font-size:11.5px;color:var(--muted)}
.dlad{gap:9px;padding:12px 14px}
.ladwhy{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:14.5px;line-height:1.42;color:var(--green)}
.dlad .fun2{gap:4px}
.dlad .rg{padding:8px 12px}
.dlad .spec{flex-basis:70px}
.dtoday{gap:9px;padding:12px 14px}
.dnext{background:var(--surface2);border-left:3px solid var(--green);border-radius:10px;padding:9px 12px}
.dnext span{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.dnext p{margin:2px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:16px;line-height:1.35;color:var(--ink)}
.dtoday .gotoday{padding:11px}
@media (min-width:900px){
  :root:not(.phoneview) #s-dash>.dhd,:root:not(.phoneview) #s-dash>.dwk{grid-column:1/-1}
  :root:not(.phoneview) #s-dash>.dL>.stackd{order:0}
}
/* --- Dashboard, designed --- */
#s-dash{gap:14px}
.dband{position:relative;overflow:hidden;background:var(--greenDeep);border-radius:18px;padding:16px 18px 14px;color:#fff;display:flex;flex-direction:column;gap:10px}
.dband::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--amber)}
.dband::after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(184,145,42,.22),transparent 70%)}
.dbtop{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,243,238,.7)}
.dbtop b{color:#fff;font-size:12.5px}
.dbsc{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;position:relative;z-index:1}
.dbnow{display:flex;flex-direction:column}
.dbnow b{font-size:52px;font-weight:700;letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.dbnow b i{font-style:normal;font-size:26px;font-weight:600;margin-left:2px;opacity:.8}
.dbnow b.fg{color:#8EE0B6}
.dbnow span,.dblast span{font-size:12px;color:rgba(234,243,238,.72);margin-top:4px}
.dblast{display:flex;flex-direction:column;align-items:flex-end;padding:6px 0 0 14px;border-left:1px solid rgba(255,255,255,.14)}
.dblast b{font-size:22px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
.dblast b.fg{color:#8EE0B6}.dblast b.fa{color:#E6C15A}.dblast b.fr{color:#F09A83}
.dbwk{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;position:relative;z-index:1}
.dbwk i{height:6px;border-radius:3px;background:rgba(255,255,255,.14)}
.dbwk i.d{background:#8EE0B6}
.dbwk i.n{background:var(--amber);box-shadow:0 0 0 2px rgba(184,145,42,.3)}
.dbfoot{display:flex;justify-content:space-between;font-size:11px;color:rgba(234,243,238,.6)}
.dlad2{display:flex;flex-direction:column;gap:10px;padding:2px 2px 0}
.ladq{margin:0;padding:2px 0 2px 14px;border-left:3px solid var(--amber);font-family:var(--serif);font-style:italic;font-weight:500;font-size:16.5px;line-height:1.42;color:var(--ink)}
.lad3{display:flex;gap:10px;align-items:stretch}
.lsp{flex:0 0 18px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:4px 0}
.lsp{padding:14px 0!important}
.lsp::before{content:"";position:absolute;top:8px;bottom:8px;left:50%;width:2px;margin-left:-1px;border-radius:2px;background:linear-gradient(#B8912A,#5E8F58,#1B5E43)}
.lsp::after{content:"";position:absolute;left:50%;bottom:0;margin-left:-5px;border:5px solid transparent;border-top:8px solid #1B5E43;border-bottom:0}
.lsp>i{position:absolute;left:50%;top:0;margin-left:-5px;border:5px solid transparent;border-bottom:8px solid #B8912A;border-top:0}
.lsp span{position:relative;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--paper);padding:4px 0;color:var(--muted)}
.lsp span:nth-child(1){color:#B8912A}.lsp span:nth-child(3){color:var(--green)}
.lrungs{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.lr{--c:#B8912A;display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-radius:12px;background:color-mix(in srgb,var(--c) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 30%,transparent);color:var(--ink);text-align:left;transition:transform .15s,background .15s}
.lr:hover{transform:translateX(3px);background:color-mix(in srgb,var(--c) 20%,var(--surface))}
.lr i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--c)}
.lr b{flex:1;font-size:14.5px;font-weight:600}
.lr span{font-size:11.5px;font-weight:600;color:color-mix(in srgb,var(--c) 75%,var(--ink))}
.lr.l1{--c:#B8912A;width:100%}.lr.l2{--c:#8E8F3F;width:92%}.lr.l3{--c:#5E8F58;width:84%}.lr.l4{--c:#2E7D5B;width:76%}.lr.l5{--c:#1B5E43;width:68%}
.dnx{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px 16px}
.dnxh{display:flex;justify-content:space-between;align-items:baseline}
.dnxc{font-size:12.5px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}
.dnxbar{display:flex;gap:4px}
.dnxbar i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.dnxbar i.d{background:var(--green2)}
.dnxl{margin:4px 0 0;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dnxt{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;line-height:1.35;color:var(--ink)}
.dnx .gotoday{margin-top:6px;padding:12px}
:root[data-theme="dark"] .lr.l5{--c:#2E9E6B}:root[data-theme="dark"] .lsp span{background:var(--paper)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lr.l5{--c:#2E9E6B}}
@media (min-width:900px){
  :root:not(.phoneview) #s-dash>.dband{grid-column:1/-1}
  :root:not(.phoneview) .dnx{height:100%}
}
/* --- compact action step lists + hide toggle --- */
.gwk{padding-top:8px}
.gwk-h{gap:8px;padding-bottom:0;min-height:30px}
.gwk-h b{font-size:13.5px}
.gwk-h .n{font-size:12px}
.lhide{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:999px;padding:4px 6px 4px 10px}
.lhide .chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.lhide .chev.up{transform:rotate(180deg)}
.gwk .prl{padding:2px 0;gap:9px}
.gwk .ptap{padding:5px 0;gap:6px}
.gwk .ptap .t{font-size:13.5px;line-height:1.35}
.gwk .prl .box{width:19px;height:19px;border-radius:5px}
.gwk .pdot{width:16px;height:16px}
.gwk .pday{font-size:11px;padding:1px 7px}
.gwk .pen{width:24px;height:24px}
.gwk .pen svg{width:13px;height:13px}
.gwk .addbank.g2{margin-top:4px;padding-top:8px}
.gwk .addbank input{padding:7px 10px;font-size:13.5px}
.gwk .addbank button{padding:7px 12px}
.gwk .showall{padding:6px 0;font-size:12.5px}
.gwk .pkl{padding:4px 0}
.gwk .pkl .t{font-size:13.5px}
.gwk .pkplace{padding:5px 9px;font-size:12px}
/* --- when + reminder --- */
.step .txt{min-width:0}
.whbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 6px;border-radius:999px;color:var(--muted);opacity:.55;font-size:11.5px;font-weight:600;background:none;margin-top:-2px}
.whbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.whbtn:hover{opacity:1;background:var(--surface2)}
.whbtn.set{opacity:1;color:var(--green);background:var(--greenSoft);padding:0 9px}
.whbtn.set svg{width:12px;height:12px}
.whpill.done{flex:0 0 auto;font-size:11px;color:var(--muted);padding:3px 8px}
.whQ{margin:-8px 0 12px;font-size:14px;color:var(--body)}
.whT{margin:4px 0 12px;font-size:16px;font-weight:600;color:var(--ink)}
.whparts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.whp{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 4px;border-radius:12px;background:var(--surface2);border:1.5px solid transparent;color:var(--ink)}
.whp b{font-size:14px}.whp span{font-size:11.5px;color:var(--muted)}
.whp.on{background:var(--green);border-color:var(--green);color:#fff}.whp.on span{color:rgba(255,255,255,.85)}
.whtl{display:block;margin:14px 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#whTime{width:100%;padding:10px 12px;font-size:15px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.whrem{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;padding:11px 12px;border-radius:12px;background:var(--surface2);text-align:left;color:var(--ink)}
.whrem svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;flex:0 0 auto}
.whrem span{flex:1;display:flex;flex-direction:column}.whrem b{font-size:14px}.whrem em{font-style:normal;font-size:12px;color:var(--muted)}
.tog{width:38px;height:22px;border-radius:11px;background:var(--line);position:relative;flex:0 0 auto;transition:background .15s}
.tog::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.whrem.on .tog{background:var(--green2)}.whrem.on .tog::after{left:19px}
.notif,.pnotif{border-radius:16px;padding:10px 14px 12px;background:rgba(245,246,244,.96);color:#16221D;box-shadow:0 10px 30px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.06)}
.notif{margin-top:10px}
.nhead{display:flex;justify-content:space-between;font-size:11.5px;color:#6b7a73;margin-bottom:3px}
.napp{font-weight:700;letter-spacing:.02em;color:#1B5E43}
.notif b,.pnotif b{display:block;font-size:14px}
.notif p,.pnotif p{margin:1px 0 0;font-size:13.5px;color:#3C4A44}
.pkin .btn,.peekin .btn{margin-top:10px}
.pnotif{position:absolute;left:12px;right:12px;top:10px;z-index:80}
.pnotif.in{animation:ndrop .35s cubic-bezier(.2,.9,.3,1.2)}
@keyframes ndrop{from{transform:translateY(-120%);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.pnotif.in{animation:none}}
/* --- Goal tab: Weeks / Month --- */
.gwk-h .wkd{font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.gvw{display:inline-flex;background:var(--surface2);border-radius:999px;padding:3px}
.gvw button{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;color:var(--muted)}
.gvw button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.mvh{display:flex;align-items:center;justify-content:space-between}
.mvh b{font-size:15px;color:var(--ink)}
.mvn{width:32px;height:32px;border-radius:9px;background:var(--surface2);font-size:20px;line-height:1;color:var(--ink)}
.mvn:disabled{opacity:.3}
.mvg{display:grid;grid-template-columns:28px repeat(7,minmax(0,1fr));gap:4px;align-items:stretch}
.mvdh{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted);padding-bottom:2px}
.mvw{display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.02em}
.mvw.now{color:var(--amber)}
.mvd{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 5px;min-height:46px;border-radius:9px;background:var(--surface2);border:1.5px solid transparent;color:var(--ink)}
.mvd b{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.mvd span{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;max-width:30px}
.mvd span i{width:5px;height:5px;border-radius:50%}
.mvd i.d{background:var(--green2)}.mvd i.o{background:transparent;box-shadow:inset 0 0 0 1.3px var(--muted)}.mvd i.m{background:var(--red)}
.mvd.oth{opacity:.55}
.mvd.out{background:transparent;color:var(--muted);opacity:.4}
.mvd.tdy{border-color:var(--amber)}
.mvd.sel{background:var(--green);border-color:var(--green);color:#fff}
.mvd.sel i.o{box-shadow:inset 0 0 0 1.3px #fff}.mvd.sel i.d{background:#fff}
.mvlg{display:flex;gap:14px;font-size:11.5px;color:var(--muted)}
.mvlg span{display:flex;align-items:center;gap:5px}
.mvlg i{width:7px;height:7px;border-radius:50%}
.mvlg i.d{background:var(--green2)}.mvlg i.o{box-shadow:inset 0 0 0 1.3px var(--muted)}.mvlg i.m{background:var(--red)}
/* --- Simple mode --- */
:root.simple .tab[data-go=dash],:root.simple .tab[data-go=vision],:root.simple .tab[data-go=goal],:root.simple .tab[data-go=wins],:root.simple .tab[data-go=score]{display:none!important}
:root.simple #s-today .tside,:root.simple #s-today .tlink,:root.simple .whbtn{display:none!important}
:root.simple .eodcard:not(.stepper) .eods.e2,:root.simple .eods.e4{display:none}
:root.simple .rv-wins,:root.simple .rv-pmn,:root.simple .wk-rem{display:none!important}
.smode{display:flex;flex-direction:column;gap:10px;background:var(--greenDeep);color:#fff;border-radius:16px;padding:14px 16px}
.smh{display:flex;justify-content:space-between;align-items:center}
.smtag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8EE0B6}
.smx{font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.14);border-radius:999px;padding:5px 11px}
.smrule{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.92)}
.smrule b{color:#fff}
.smrule li::marker{color:#E6C15A;font-weight:700}
.smgoal{margin:2px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4;color:#fff}
.smgoal span{display:block;font-family:var(--ui);font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,243,238,.6);margin-bottom:2px}
.smsug{display:flex;flex-direction:column;gap:6px;border:1px solid var(--amberEdge);border-left:3px solid var(--amber);background:var(--amberSoft);border-radius:14px;padding:12px 14px}
.smsug b{font-size:15px;color:var(--ink)}
.smsug p{margin:0;font-size:13.5px;color:var(--body);line-height:1.45}
.smsb{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:4px}
.smsb .btn{padding:10px}
.smlink{align-self:center;background:none;font-size:13px;color:var(--muted);padding:6px}
.smlink b{color:var(--green)}
@media (min-width:900px){:root:not(.phoneview) #s-today>.smode,:root:not(.phoneview) #s-today>.smsug,:root:not(.phoneview) #s-today>.smlink{grid-column:1/-1}
  :root.simple:not(.phoneview) #s-today>.card.work{grid-column:1/-1}}
/* blockers: red stop, plans: green go */
.om .od{background:var(--red)!important;transform:none!important;border-radius:50%!important;width:9px!important;height:9px!important}
.po{background:var(--redSoft)!important}
.po i{background:var(--red)!important;transform:none!important;border-radius:50%!important}
.mbar{height:10px;border-radius:5px;background:var(--greenSoft);overflow:hidden}
.mbar i{display:block;height:100%;background:var(--amber);border-radius:5px}
.mleg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mleg div{display:flex;flex-direction:column}
.mleg div:last-child{align-items:flex-end;text-align:right}
.mleg b{font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.mleg div:first-child b{color:var(--amber)}.mleg div:last-child b{color:var(--green)}
.mleg span{font-size:12.5px;font-weight:600;color:var(--ink)}
.mleg em{font-style:normal;font-size:11.5px;color:var(--muted)}
.modefoot{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:10px 14px;border-radius:12px;border:1px dashed var(--line);background:none;text-align:left;color:var(--ink)}
.modefoot span{flex:1;display:flex;flex-direction:column}
.modefoot b{font-size:13px}
.modefoot em{font-style:normal;font-size:11.5px;color:var(--muted)}
.modefoot.on{border-style:solid;border-color:var(--greenEdge);background:var(--greenSoft)}
.modefoot.on .tog{background:var(--green2)}.modefoot.on .tog::after{left:19px}
@media (min-width:900px){:root:not(.phoneview) .screen>.modefoot{grid-column:1/-1;column-span:all}}
.smode .smgoal{margin:0;padding:0;border:0;font-size:17px}
.btn.wkrv{background:var(--amber);border-color:var(--amber);color:var(--paper)}
.btn.eodlate{background:var(--blue);border-color:var(--blue);color:var(--paper)}
/* --- Simple mode, designed --- */
.sthead{display:flex;flex-direction:column;gap:4px}
.sdate{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.strow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.strow>b{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1}
.sdone{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.sdone b{font-size:15px;color:var(--green)}
.sprog{display:flex;gap:4px;margin-top:2px}
.sprog i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.sprog i.d{background:var(--green2)}
.smode{position:relative;overflow:hidden;gap:8px;padding:18px 18px 14px!important;border-radius:18px!important}
.smode::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--amber)}
.smode::after{content:"";position:absolute;right:-50px;bottom:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(184,145,42,.2),transparent 70%)}
.smode .smtag{color:#E6C15A}
.smode .smgoal{position:relative;z-index:1;font-size:19px!important;line-height:1.38}
.smfoot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding-top:10px;margin-top:2px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(234,243,238,.7)}
.smleft{display:flex;align-items:center;gap:5px;color:#E6C15A}
.smleft b{color:#fff;font-size:13px}
.smleft svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
:root.simple #s-today .card.work{border-radius:18px}
:root.simple #s-today .card.work>.sub{display:none}
:root.simple #s-today .card.work .step .txt{font-size:15.5px}
:root.simple #s-today .card.work .step{padding:9px 2px}
/* simpler score card */
:root.simple .sc .scnext,:root.simple .sc .note,:root.simple .sc .more,:root.simple .sc .scsub{display:none!important}
/* desktop: a calm single column, tabs as a pill switch */
@media (min-width:900px){
  :root.simple:not(.phoneview) .frame{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}
  :root.simple:not(.phoneview) .tabwrap{grid-column:1;grid-row:2;border:0;background:var(--paper);padding:20px 0 4px;display:flex;justify-content:center}
  :root.simple:not(.phoneview) .tabs{flex-direction:row;background:var(--surface2);border-radius:999px;padding:4px;gap:2px}
  :root.simple:not(.phoneview) .tab{padding:8px 20px;border-radius:999px;gap:8px}
  :root.simple:not(.phoneview) .tab svg{width:17px;height:17px}
  :root.simple:not(.phoneview) .tab[aria-current="page"]{background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.1)}
  :root.simple:not(.phoneview) .scroll{grid-column:1;grid-row:3}
  :root.simple:not(.phoneview) .screen:not([hidden]){display:flex!important;flex-direction:column;gap:16px;column-count:1!important;max-width:640px;padding:24px 24px 64px}
  :root.simple:not(.phoneview) .screen>*{align-self:stretch!important;max-width:none!important;grid-column:auto!important;grid-row:auto!important;margin-bottom:0!important;position:static!important;width:auto!important;justify-self:auto!important}
  :root.simple:not(.phoneview) .screen .wkL,:root.simple:not(.phoneview) .screen .wkR{display:flex;flex-direction:column;gap:16px}
  :root.simple:not(.phoneview) .strow>b{font-size:40px}
  :root.simple:not(.phoneview) .smode .smgoal{font-size:22px!important}
}
.rvstart{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--amberEdge);border-radius:18px;padding:20px 18px}
.rvstart::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--amber)}
.rvstart .eyebrow{color:var(--amber)}
.rvstart b{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.rvstart p{margin:0 0 6px;font-size:14px;color:var(--body);line-height:1.45}
.honor{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 2px 2px}
.hicon{width:44px;height:44px;border-radius:14px;background:var(--greenSoft);display:grid;place-items:center;color:var(--green);margin-bottom:2px}
.hicon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.honor .eyebrow{color:var(--amber)}
.honor b{font-size:19px;letter-spacing:-.015em;color:var(--ink);line-height:1.3}
.honor p{margin:0;font-size:14.5px;color:var(--body);line-height:1.5}
.honor .hstep{width:100%;padding:10px 12px;border-radius:10px;background:var(--surface2);font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--ink)}
.hskip{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:2px}
.honor .dwb{width:100%;margin-top:6px;grid-template-columns:1fr 1fr}
#peek{z-index:70}
.dwgo.hgo{color:var(--ink);background:var(--surface2);text-align:center;display:grid;place-items:center;padding:11px;font-size:15px;align-self:stretch}
.honor .dwb .btn{padding:11px}
.winbtn{justify-content:center}
.winadd{gap:10px}
.winadd label{font-size:16px;font-weight:700;color:var(--ink)}
.pkrow.focusme{background:var(--surface);padding:6px 16px 14px;margin:6px -16px;border-radius:14px}
.addbox.focusme{padding:14px}
#eodCard.focusme{border-radius:16px}
.rvcount{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--amberSoft)}
.rvcount span{font-size:13px;color:var(--body)}.rvcount span b{font-size:18px;color:var(--amber)}
.rvdots{display:flex;gap:5px}
.rvdots i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.rvdots i.d{background:var(--green2)}.rvdots i.n{background:var(--ink);box-shadow:0 0 0 2px var(--amberSoft),0 0 0 3.5px var(--ink)}.rvdots i.r{background:var(--amber)}
.rvstart.closed p{margin:2px 0 0}
.rvstart .linkbtn{align-self:flex-start;background:none;font-size:12.5px;color:var(--muted);text-decoration:underline;padding:4px 0}
.rvask{padding:14px 2px 2px}
.rvask b{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1.35;color:var(--ink)}
.grail.d7 .gw.pkt .dots i.pk{background:transparent;border:1.5px solid var(--amber);opacity:1;width:7px;height:7px}
.grail.d7 .gw.pkt.sel .dots i.pk{border-color:#fff}
.pkd{width:18px!important;height:18px!important;border-radius:50%!important;transform:none!important;background:transparent!important;border:1.6px solid var(--amber)}
.gwk .pkd{width:16px!important;height:16px!important}
/* --- desktop alignment: cards in a row share top and bottom; wide cards sit centred --- */
@media (min-width:900px){
  :root:not(.phoneview) #s-week{align-items:stretch}
  :root:not(.phoneview) #s-week .wkL,:root:not(.phoneview) #s-week .wkR{display:contents}
  :root:not(.phoneview) #s-week .card.sc{grid-column:1;grid-row:2}
  :root:not(.phoneview) #s-week .wk-rem{grid-column:2;grid-row:2}
  :root:not(.phoneview) #s-week .wplan{grid-column:1/-1;grid-row:3;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-week>.modefoot{grid-column:1/-1;grid-row:4;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-today>.card.work,:root:not(.phoneview) #s-today>.tside{align-self:stretch}
  :root:not(.phoneview) #s-today>.modefoot{grid-column:1/-1;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-vision{column-count:1;max-width:760px}
  :root:not(.phoneview) #s-score,:root:not(.phoneview) #s-wins{display:grid;column-count:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;align-items:stretch}
  :root:not(.phoneview) #s-score>*,:root:not(.phoneview) #s-wins>*{margin-bottom:0}
  :root:not(.phoneview) #s-score>:first-child,:root:not(.phoneview) #s-wins>:first-child{grid-column:1/-1}
  :root:not(.phoneview) #s-score>.me{grid-column:1;grid-row:2;justify-content:center}
  :root:not(.phoneview) #s-score>.schow{grid-column:2;grid-row:2}
  :root:not(.phoneview) #s-score>.sharebar{grid-column:1/-1;grid-row:3;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-score>.sbatch{grid-column:1/-1;grid-row:4;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-score>.modefoot{grid-column:1/-1;grid-row:5;justify-self:stretch;width:auto}
  :root:not(.phoneview) #s-wins>.wstats,:root:not(.phoneview) #s-wins>.winbtn,:root:not(.phoneview) #s-wins>.winadd,:root:not(.phoneview) #s-wins>.card.gold,:root:not(.phoneview) #s-wins>.modefoot{grid-column:1/-1}
  :root:not(.phoneview) #s-dash>.modefoot{grid-column:1/-1}
}
/* --- Vision: green, with one touch of gold --- */
.vtop{color:var(--amber);display:block;margin-bottom:4px}
.card.vlife{position:relative;overflow:hidden}
.card.vlife::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--amber)}
.vstmt{margin:0;font-size:19px;line-height:1.45;color:var(--ink)}
/* --- notes on action steps --- */
.nbox{display:flex;flex-direction:column;gap:5px}
.nbox label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nbox textarea{font-size:14px;line-height:1.45;min-height:58px}
.nic{display:inline-grid;place-items:center;vertical-align:-2px;color:var(--muted)}
.nic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.nbtn{display:inline-grid!important;width:22px;height:22px;border-radius:6px;background:none;padding:0;margin-left:4px;vertical-align:-4px}
.step .txt .nbtn{background:none}
.nbtn:hover,.nbtn[aria-expanded=true]{background:var(--greenSoft);color:var(--green)}
.nread{display:block;margin-top:6px;padding:8px 10px;border-radius:9px;background:var(--surface2);font-size:13px;line-height:1.45;color:var(--body);text-decoration:none!important}
.nread a{color:var(--green)}
/* --- tomorrow list: warning label, order, time --- */
.tmrl.warn{color:var(--amber)}
.tmrl em{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);margin-left:6px}
.tmri{gap:8px}
.tmt{flex:1;min-width:0;font-size:14px;color:var(--ink);line-height:1.35}
.tmri span.tmo{display:flex;flex-direction:column;gap:1px;flex:0 0 24px}
.tmri span.tmt{flex:1 1 auto}
.tmri span.grip,.tmri span.nic{flex:0 0 auto}
.tmo button{width:24px;height:18px;display:grid;place-items:center;border-radius:5px;color:var(--muted)}
.tmo button:hover:not(:disabled){background:var(--surface);color:var(--green)}
.tmo button:disabled{opacity:.25}
.tmo svg{width:13px;height:13px}
.tmtime{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--green);background:var(--surface);border-radius:999px;padding:5px 9px}
.tmtime svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tmtime.set{background:var(--green);color:#fff}
.p1en{font-size:13.5px;line-height:1.45;min-height:44px}
.nedit{display:block;margin-top:6px;font-size:12px;font-weight:600;color:var(--green)}
/* --- press, hold and drag --- */
.dragrow{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .16s ease}
.dragzone.dragging .dragrow{transition:transform .16s ease}
.dragrow.lifted{position:relative;z-index:5;transition:none!important;background:var(--surface);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.18),0 0 0 1.5px var(--green2)}
.dragrow{cursor:grab}
.dragrow input,.dragrow textarea,.dragrow button{cursor:auto}.dragrow button{cursor:pointer}
.grip{touch-action:none;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,3px);gap:3px 3px;padding:4px 2px;opacity:.45;cursor:grab}
.grip i{width:3px;height:3px;border-radius:50%;background:var(--muted);display:block}
.grip i:nth-child(n){box-shadow:5px 0 0 var(--muted)}
.grip{grid-template-columns:3px}
.p1more{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--green);background:var(--greenSoft);border-radius:999px;padding:6px 8px 6px 11px}
.p1more .chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.p1more .chev.up{transform:rotate(180deg)}
.p1more .nic svg{width:13px;height:13px}
.p1xbox{display:flex;flex-direction:column;gap:7px;padding:4px 0 6px}
.p1xbox label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.p1xbox .mvnext{margin-top:2px}
.step.editing.p1e{padding:9px 0}
.rpen{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.rpen svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rpen:hover,.rpen.on{background:var(--greenSoft);color:var(--green)}
.tmri.tmed{flex-direction:column;align-items:stretch;gap:8px;padding:12px}
.pkrow .gedit .btn{margin-top:4px}
.p1erow .grip{opacity:.7;padding:8px 4px;margin-left:-4px}
.step.p1e.lifted{padding:9px 8px}
.step .vgrip{align-self:flex-start;margin:-2px -4px 0 -6px;padding:6px 4px;opacity:.35;transition:opacity .15s}
.step:hover .vgrip,.step.lifted .vgrip{opacity:.8}
/* --- celebration --- */
.celeb{position:absolute;inset:0;z-index:90;pointer-events:none;overflow:hidden}
.cb{position:absolute;top:-16px;border-radius:2px;opacity:0;animation:cfall 1.8s cubic-bezier(.2,.6,.35,1) forwards}
.cb-c{border-radius:50%}.cb-s{border-radius:2px;transform:rotate(45deg)}
@keyframes cfall{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),110vh) rotate(var(--rot))}}
.cmsg{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.9);opacity:0;width:min(300px,82%);text-align:center;background:var(--surface);border:1px solid var(--greenEdge);border-radius:20px;padding:18px 18px 16px;box-shadow:0 20px 50px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;gap:4px}
.celeb.on .cmsg{animation:cpop .5s cubic-bezier(.2,1.4,.4,1) forwards,cfade .4s ease forwards 2.3s}
.cmsg.wk{border-color:var(--amber)}
.celeb.on .cmsg.wk{animation:cpop .5s cubic-bezier(.2,1.4,.4,1) forwards,cfade .4s ease forwards 3.1s}
.cic{width:46px;height:46px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin-bottom:6px}
.cmsg.wk .cic{background:var(--amber)}
.cic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cmsg b{font-size:18px;color:var(--ink)}
.cmsg p{margin:0;font-size:13.5px;color:var(--body);line-height:1.4}
@keyframes cpop{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes cfade{to{opacity:0;transform:translate(-50%,-56%) scale(1)}}
@media (prefers-reduced-motion:reduce){.celeb.on .cmsg,.celeb.on .cmsg.wk{animation:none;opacity:1;transform:translate(-50%,-50%)}}
/* journal */
.eods.e4 .eodl p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.win.jn span{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.45}
.win.jn time{font-family:var(--ui);font-style:normal}
/* --- bottom bar: make the current tab obvious --- */
.tab{position:relative}
.tab[aria-current="page"]{color:var(--green);background:var(--greenSoft)}
.tab[aria-current="page"] span{font-weight:700}
.tab[aria-current="page"] svg{stroke-width:2.1}

@media (min-width:900px){:root:not(.phoneview) .tab[aria-current="page"]::before{content:"";position:absolute;background:var(--green);top:8px;bottom:8px;left:0;right:auto;width:3px;height:auto;border-radius:0 3px 3px 0}
  :root.simple:not(.phoneview) .tab[aria-current="page"]::before{display:none}}
.gvw.wk2{align-self:flex-start}
.winadd textarea{font-size:14.5px;line-height:1.45}
/* --- insights --- */
.revcta{display:flex;flex-direction:column;gap:14px;padding:20px 18px 16px;border-radius:16px;background:var(--greenSoft);border:1px solid var(--greenEdge)}
.revcta .eodsub{margin:0}
.insdiv{display:flex;align-items:center;gap:12px;margin-top:30px}
.insdiv::before,.insdiv::after{content:"";flex:1;height:1px;background:var(--line)}
.insdiv>span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.insdiv .ic{width:24px;height:24px;border-radius:7px}
.revcta .rvask{padding:0 2px}
.inshead{display:flex;flex-direction:column;gap:3px;margin-top:2px}
.inshead b{font-size:21px;letter-spacing:-.02em;color:var(--ink)}
.inshead p{margin:0;font-size:13.5px;color:var(--muted)}
.ipg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ipg.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ip{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:12px;background:var(--surface2)}
.ip span{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.25}
.ip b{font-size:15px;color:var(--ink);line-height:1.25}
.ip em{font-style:normal;font-size:12px;color:var(--muted)}
.ip.good b{color:var(--green)}.ip.hard b{color:var(--amber)}
.iwk{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.iwkb{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;align-items:end;height:66px}
.iwc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;height:100%}
.iwc i{width:70%;border-radius:4px 4px 2px 2px;background:var(--line)}
.iwc i.fg{background:var(--green)}.iwc i.fa{background:var(--amber)}.iwc i.fr{background:var(--red)}.iwc i.cur{background:var(--muted);opacity:.5}
.iwc span{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.iwc.now span{color:var(--ink);font-weight:700}
.ilast{margin:0;font-size:14px;color:var(--body);line-height:1.4}
.ilast time{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.wkrow .wkd{font-size:12px;color:var(--muted);font-weight:500}
.insmini{border-color:var(--greenEdge)}
.imm{margin:0;font-size:14px;color:var(--ink);line-height:1.4}
.imm span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
@media (min-width:900px){:root:not(.phoneview) #s-review .ipg{gap:12px}}
.card.vstrip{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:12px;padding-bottom:12px}
/* Simple mode, phone: score, your why and the week strip down to Wednesday fit before scrolling */
:root.simple #s-week .card.sc{padding:10px 14px;gap:4px}
:root.simple #s-week .card.sc .scviz{gap:14px}
:root.simple #s-week .card.sc .rowhead{min-height:0}
:root.simple #s-week .ring2,:root.simple #s-week .ring2 svg{width:58px;height:58px}
:root.simple #s-week{gap:10px;padding-top:10px}
:root.simple #s-today{gap:10px;padding-top:10px}
:root.simple #s-today .tipbox{padding:10px 13px;gap:3px}
:root.simple #s-today .tipbox .tipfrom{display:none}
:root.simple #s-today .smode{padding:14px 16px 12px!important;gap:6px}
:root.simple #s-today .card.work{padding-top:10px;padding-bottom:10px}
:root.simple #s-week .dayline b{font-size:23px}
:root.simple #s-week .dayline{margin-top:0!important}
:root.simple #s-week .vstrip{padding:0;gap:6px;background:none;border:0;box-shadow:none}
:root.simple #s-week .vsg{gap:8px}
:root.simple #s-week .wplan{padding-top:12px;padding-bottom:10px;gap:8px}
:root.simple #s-week .wplan .gwk{padding-top:6px}
:root.simple #s-week .wplan .rowhead{min-height:0}
:root.simple #s-week .wkL{gap:10px}
:root.simple #s-week .wkL>*{margin-bottom:0}
:root.simple #s-week .ring2 b{font-size:16px}
.vsg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.vsg .vtile{border-radius:12px;aspect-ratio:1/1;width:100%;background-size:cover;background-position:center}
@media (min-width:900px){:root:not(.phoneview) .vsg{grid-template-columns:repeat(4,minmax(0,1fr))}:root:not(.phoneview) .vsg .vtile{aspect-ratio:1/1}}
/* --- coach: tap a name to look inside --- */
.nmb{font:inherit;color:inherit;text-align:left;padding:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.nmb:hover{text-decoration-color:currentColor}
.srow.help{background:var(--redSoft,rgba(180,70,47,.07));border-radius:10px}
.srow.help .nmb{color:var(--red);font-weight:600;text-decoration-color:currentColor}
.pkscore em{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--muted);text-align:right;margin-top:-2px}
.cpwk{display:flex;flex-direction:column}
.cwd{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--hair)}
.cwd:first-child{border-top:0}
.cwdl{display:flex;flex-direction:column;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.2}
.cwdl b{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.cwd.now .cwdl{color:var(--green)}
.cwi{margin:0;display:flex;align-items:baseline;gap:7px;font-size:13.5px;color:var(--ink);line-height:1.35;padding:1px 0}
.cwi i{flex:0 0 7px;height:7px;border-radius:50%;transform:translateY(-1px)}
.cwi.d i{background:var(--green2)}.cwi.d{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}
.cwi.m i{background:var(--red)}.cwi.m{color:var(--red)}
.cwi.o i{box-shadow:inset 0 0 0 1.3px var(--muted)}
.cwi.none{color:var(--muted);font-size:12.5px}
.peekin .mvlg{margin-top:6px}
/* --- Simple mode End of Day: one question at a time --- */
.eodprog{display:flex;align-items:center;gap:10px;margin-top:6px}
.eodprog span{font-size:12px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.eodbars{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.eodbars.b3{grid-template-columns:repeat(3,1fr)}
.eodask{margin:4px 16px 16px;padding:14px;border-radius:12px;background:var(--greenSoft);border:1px solid var(--greenEdge);display:flex;flex-direction:column;gap:4px}
.eodask b{font-size:15px;color:var(--green)}
.eodask p{margin:0 0 8px;font-size:13px;color:var(--body)}
.eodask .eodnav{padding:0}
.eodask .btn.quiet{background:var(--surface)}
.eodbk{display:block;margin:-6px auto 14px;font-size:13px;font-weight:600;color:var(--muted);padding:6px 12px}
.eodcard .eodnav .btn{flex:1}
.eodbars i{height:5px;border-radius:99px;background:var(--greenEdge)}
.eodbars i.on{background:var(--green)}
.stepper .eods{border-bottom:0;min-height:180px}
.stepper.two .eods{min-height:0}
.stepper.two .eods+.eods{border-top:1px solid var(--hair)}
.stepper.two .eodnav{padding-top:4px}
.eodnav{display:flex;gap:8px;padding:0 16px 16px}
.eodnav .btn{flex:2;margin:0!important;width:auto}
.eodnav .btn.quiet{flex:1}
.stepper #eodSave{margin:0}
/* --- weekly review: guided steps --- */
.rvprog{display:flex;flex-direction:column;gap:6px}
.rvbars{display:grid;gap:4px}
.rvbars i{height:5px;border-radius:99px;background:var(--line)}
.rvbars i.d{background:var(--green2)}.rvbars i.on{background:var(--green)}
.rvprog span{font-size:12px;font-weight:600;color:var(--muted)}
.rvhero{display:flex;gap:14px;align-items:center;padding:6px 0 2px}
.rvico{flex:0 0 auto;width:52px;height:52px;border-radius:16px;display:grid;place-items:center}
.rvico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rvico.t-g{background:var(--greenSoft);color:var(--green)}.rvico.t-a{background:var(--amberSoft);color:var(--amber)}.rvico.t-r{background:var(--redSoft);color:var(--red)}
.rvhero h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}
.rvhero p{margin:3px 0 0;font-size:13.5px;color:var(--muted);line-height:1.4}
.rvbody{gap:14px;padding:16px}
.rvgoal{padding:14px 16px;border-radius:14px;background:var(--hero,#1f3d31);background:linear-gradient(140deg,#24503f,#173528);color:#fff;border-top:3px solid var(--amber)}
.rvgoal span{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#E3C77A}
.rvgoal p{margin:4px 0 0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35}
.rvscore{display:flex;align-items:center;gap:14px}
.rvsn{font-size:34px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rvsn.fg{color:var(--green)}.rvsn.fa{color:var(--amber)}.rvsn.fr{color:var(--red)}
.rvsb{flex:1;display:flex;flex-direction:column;gap:5px}
.rvbar{height:8px;border-radius:99px;background:var(--surface2);overflow:hidden}
.rvbar i{display:block;height:100%;border-radius:99px}
.rvbar i.fg{background:var(--green)}.rvbar i.fa{background:var(--amber)}.rvbar i.fr{background:var(--red)}
.rvsb span{font-size:13px;color:var(--muted)}
.rvsec{display:flex;flex-direction:column;gap:1px;padding-top:6px;border-top:1px solid var(--hair)}
.rvsec b{font-size:15px}
.rvsec span{font-size:13px;color:var(--muted)}
.rvmiss{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--surface2);border-left:3px solid var(--red)}
.rvmt b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.35}
.rvmt span{font-size:12px;color:var(--red)}
.rvmiss .cgseg{background:var(--surface)}
.rvmiss.gone{border-left-color:var(--line)}
.rvmiss.gone .rvmt b{text-decoration:line-through;color:var(--muted)}
.rvwhy{margin-top:4px}
.rvall{margin:0;font-size:14px;color:var(--green);font-weight:600}
.rvnote{margin:0;font-size:13.5px;color:var(--body);line-height:1.45}
.rvwins{display:flex;flex-direction:column;gap:8px}
.rvwin{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:12px;background:var(--amberSoft)}
.rvstar{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--amber)}
.rvstar svg{width:14px;height:14px;fill:currentColor;stroke:none}
.rvwin b{display:block;font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.rvwin span{font-size:12px;color:var(--muted)}
.rvadd label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px}
.rvadd .addbank{margin-top:0;border-top:0;padding-top:0}
.rvpm{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:var(--surface2)}
.rvpmh{display:flex;align-items:center;gap:9px}
.rvsym{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:800;color:#fff;line-height:1}
.rvpm.plus .rvsym{background:var(--green)}.rvpm.minus .rvsym{background:var(--amber)}.rvpm.next .rvsym{background:var(--ink);color:var(--paper)}
.rvpmh b{font-size:15px;color:var(--ink)}
.rvpm>p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.rvpm .pmnin{background:var(--surface);margin-bottom:0}
.rvpm .addmore{align-self:flex-start;padding-left:0}
.rpwhen{display:inline-block;font-size:12px;font-weight:600;color:var(--muted);margin:2px 0 -2px}
.rpwhen.set{color:var(--green)}
.rvsum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rvsum div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:12px;background:var(--surface2);text-align:center}
.rvsum b{font-size:24px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.rvsum span{font-size:11.5px;color:var(--muted);line-height:1.3}
.rvbody .bygo{padding:14px}
.rvfine{margin:0;font-size:12.5px;color:var(--muted);text-align:center}
.bygood{display:flex;align-items:center;gap:8px;margin:0 0 4px!important;padding:9px 11px;border-radius:10px;background:var(--surface);font-size:13.5px!important;color:var(--ink)!important;font-weight:600}
.bygood svg{flex:0 0 auto;width:17px;height:17px;fill:none;stroke:var(--blue);stroke-width:1.9;stroke-linejoin:round}
.btn.amb{background:var(--amberSoft);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}
.reccard{display:flex;flex-direction:column;gap:10px;padding:13px;border-radius:14px;background:var(--blueSoft);border:1px solid color-mix(in srgb,var(--blue) 25%,transparent)}
.rech{display:flex;gap:10px;align-items:center}
.recico{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--blue);color:#fff}
.recico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.rech b{display:block;font-size:14.5px;color:var(--ink)}
.rech div span{font-size:12.5px;color:var(--body)}
.recdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.recdays button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0;border-radius:10px;background:var(--surface);color:var(--ink);border:1.5px solid transparent}
.recdays button span{font-size:11px;font-weight:600;color:var(--muted)}
.recdays button b{font-size:15px;font-variant-numeric:tabular-nums}
.recdays button.on{background:var(--blue);color:#fff}
.recdays button.on span{color:rgba(255,255,255,.85)}
.prow.rec .t,.step.rec .txt,.tmri.rec .tmt{color:var(--blue);font-weight:600}
.step.rec .box{border-color:var(--blue)}
.step.rec.done .box{background:var(--blue);border-color:var(--blue)}
.prow.rec .pdot{border-color:var(--blue)}
.tmri.rec{background:var(--blueSoft)}
.dots i.rc,.mvd i.rc{background:var(--blue)!important;box-shadow:none!important}
.rplab{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rpmove{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:12px;border-radius:12px;background:var(--surface2)}
.rpmove b{font-size:14px;color:var(--ink)}
.rpmove>span{font-size:12.5px;color:var(--muted);margin-bottom:6px}
.rpmove .cwk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.rpmove .cw{padding:8px 6px;background:var(--surface)}
.rpmove .cw b{font-size:13px}.rpmove .cw span{font-size:11.5px}
.rplater{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.rplater b{color:var(--ink);font-weight:600}
.rpundo{font-size:12.5px;font-weight:600;color:var(--green);padding:0 2px}
.rvintro{margin:-4px 0 0;font-size:13.5px;color:var(--muted)}
.rvsect{display:flex;flex-direction:column;gap:12px;padding-top:22px;margin-top:6px;border-top:1px solid var(--line)}
.rvsect:first-of-type{border-top:0;padding-top:4px}
.rvnum{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--greenSoft);padding:3px 9px;border-radius:99px}
.rpi.ed{display:flex;flex-direction:column;gap:8px}
.rpi.ed.focusme{background:var(--surface);padding:14px 16px;margin:4px -16px;border-radius:14px}
.rpedb{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.rpmvlink{align-self:flex-start;font-size:13px;font-weight:600;color:var(--green);padding:4px 0}
.eodlt{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:var(--surface)}
.eodlt b{font-size:14.5px;color:var(--ink)}
.eodlt>span{font-size:12.5px;color:var(--muted)}
.eodlc{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 6px}
.eodlc button{padding:9px 0;border-radius:10px;background:var(--surface2);font-size:13.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.eodlc button.on{background:var(--amber);color:#fff}
.eodlt .rpmvlink{align-self:center;color:var(--muted);font-weight:500}
.cbrem svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;vertical-align:-2px;margin-right:5px}
.deod{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--blueSoft)}
.deod .deodi{width:32px;height:32px;border-radius:10px}
.deodt b{font-size:14px!important;line-height:1.3}
.deodt{min-width:0;flex:1 1 0}
.deodt b,.deodt em{white-space:normal!important}
.deod.both{padding:10px 12px;gap:8px}
.deod.both .deodi{width:28px;height:28px;border-radius:9px}
.deod.both .deodi svg{width:16px;height:16px}
.dbb .deodgo{padding:9px 6px!important;font-size:13px}
.deod.both{flex-direction:column;align-items:stretch;gap:10px;background:var(--surface2)}
.deod.both .deodi{background:var(--ink)}
.dbh{display:flex;align-items:center;gap:10px}
.dbb{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dbb .deodgo{padding:10px 6px;text-align:center}
.deodgo.wkb{background:var(--green)}
.deod.wk{background:var(--greenSoft)}
.circ{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.circr{display:flex;align-items:center;gap:10px;padding:4px 2px}
.circr+.circr{border-top:1px solid var(--hair);padding-top:9px}
.circi{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--greenSoft);color:var(--green)}
.circi.ai{background:var(--amberSoft);color:var(--amber)}
.circi svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.circt{flex:1;min-width:0;display:flex;flex-direction:column}
.circt b{font-size:14px;color:var(--ink);line-height:1.3}
.circt em{font-style:normal;font-size:12px;color:var(--muted)}
.circr.dn .circt em{color:var(--green);font-weight:600}
.circb{flex:0 0 auto;font-size:13px;font-weight:700;padding:8px 12px;border-radius:10px;background:var(--green);color:#fff}
.circb.q{background:var(--surface2);color:var(--ink)}
.circb.ok{background:var(--greenSoft);color:var(--green)}
.circu{font-size:12.5px;font-weight:600;color:var(--muted);padding:4px 6px}
.prsub{margin:4px 0 0;font-size:13.5px;color:var(--muted)}
@media (min-width:900px){:root:not(.phoneview) #s-program{column-count:1;max-width:760px}:root:not(.phoneview) #s-program>*{margin-bottom:16px}}
.prc{gap:6px}
.prrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--hair)}
.prc .rowhead+.prrow{border-top:0}
.prrow.now{background:var(--greenSoft);border-radius:12px;padding:10px;border-top:0;margin:2px 0}
.prrow.past .circt b{color:var(--muted)}
.prann{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:var(--amberSoft);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}
.pranh{display:flex;align-items:center;gap:10px}
.pranic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--amber);color:#fff}
.pranic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pranh b{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.pranh em{font-style:normal;font-size:12px;color:var(--muted)}
.prant{margin:4px 0 0;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3}
.pranb{margin:0 0 4px;font-size:14px;color:var(--body);line-height:1.45}
.prann .btn.quiet{background:var(--surface)}
.prbtns.one{grid-template-columns:1fr}
.prann.read{background:var(--surface);border-color:var(--line)}
.prann.read .pranic{background:var(--amberSoft);color:var(--amber)}
.prcalls{display:flex;flex-direction:column;gap:8px}
.prcall{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;border:1px solid var(--line)}
.prcall.now{border-color:var(--green);background:var(--greenSoft)}
.prcall.past{opacity:.6}
.prdate{flex:0 0 auto;width:50px;height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface2);color:var(--ink)}
.prdate em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.prdate b{font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}
.prcall.now .prdate{background:var(--green);color:#fff}.prcall.now .prdate em{color:rgba(255,255,255,.85)}
.livedot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:6px;vertical-align:1px}
.prvids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:900px){:root:not(.phoneview) .prvids{grid-template-columns:repeat(3,minmax(0,1fr))}}
.prvid{display:flex;flex-direction:column;gap:3px;text-align:left;color:var(--ink)}
.prthumb{position:relative;aspect-ratio:16/9;border-radius:12px;display:grid;place-items:center;margin-bottom:4px;overflow:hidden}
.prthumb.v0{background:linear-gradient(135deg,#24503f,#12291f)}
.prthumb.v1{background:linear-gradient(135deg,#3a4a44,#1b2622)}
.prplay{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center}
.prplay svg{width:16px;height:16px;fill:#1B5E43;margin-left:2px}
.prthumb em{position:absolute;right:6px;bottom:6px;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.55);padding:2px 6px;border-radius:6px}
.prvid b{font-size:13.5px;line-height:1.3}
.prvid>span:last-child{font-size:12px;color:var(--muted)}
.prag2{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.prag2 li{display:flex;gap:11px;align-items:flex-start}
.pran{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--greenSoft);color:var(--green);font-size:13px;font-weight:700}
.prc.amb{border-top:3px solid var(--amber)}
.prc.amb .pran{background:var(--amberSoft);color:var(--amber)}
.prag2 b{display:block;font-size:14.5px;color:var(--ink);line-height:1.3}
.prag2 em{display:block;font-style:normal;font-size:13px;color:var(--muted);line-height:1.4;margin-top:1px}
.prall{align-self:flex-start;font-size:13px;font-weight:600;color:var(--green);padding:6px 0 0}
.prgw{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface2)}
.prgw b{font-size:14.5px;color:var(--ink)}
.prgw span{font-size:12.5px;font-weight:600;color:var(--green)}
.prag{margin-top:0}
.prol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--body);line-height:1.4}
.prnote{margin:0;font-size:13.5px;color:var(--body);line-height:1.45}
.prbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.prbtns .btn{margin:0}
.prrow.dn .circt em{color:var(--green);font-weight:600;font-size:14px}
.circgo.big{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;font-size:14.5px;border:1px solid var(--line);background:var(--surface)}
.circgo.big svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.tabdot{position:absolute;top:4px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--surface)}
@media (min-width:900px){:root:not(.phoneview) .tab .tabdot{top:50%;right:16px;transform:translateY(-50%);box-shadow:none}:root.simple:not(.phoneview) .tab .tabdot{top:8px;right:8px;transform:none}}
.circgo{align-self:stretch;text-align:center;font-size:13px;font-weight:600;color:var(--green);padding:8px;border-radius:10px;background:var(--surface2)}
#eodOpen.nudge{animation:nudge 1.2s ease-in-out 2}
@keyframes nudge{0%,100%{box-shadow:0 0 0 0 rgba(27,94,67,0)}50%{box-shadow:0 0 0 7px rgba(27,94,67,.25)}}
@media (prefers-reduced-motion:reduce){#eodOpen.nudge{animation:none}}
.deod.wk .deodi,.deod.wk .deodgo{background:var(--green)}
.deod+.deod{margin-top:-2px}
.smdue{display:flex;flex-direction:column;gap:8px}
.deodgo{flex:0 0 auto;align-self:center;font-size:13.5px;font-weight:700;color:#fff;background:var(--blue);padding:10px 14px;border-radius:11px}
.deodi{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--blue);color:#fff}
.deodi svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.deodt{flex:1;display:flex;flex-direction:column}
.deodt b{font-size:15px;color:var(--ink)}
.deodt em{font-style:normal;font-size:12.5px;color:var(--body)}

.smnote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--surface2);font-size:12.5px;color:var(--body);line-height:1.4}
.smnote span{flex:1 1 180px}
.smnote{background:var(--amberSoft)!important;border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}
.smnote button{flex:0 0 auto;font-size:13px;font-weight:700;color:#fff;padding:8px 12px;border-radius:10px;background:var(--amber)}
.eodcard .smnote{margin:0 16px 16px}
.rvnav{display:flex;gap:8px}
.rvnav .btn{flex:2}.rvnav .btn.quiet{flex:1}
