/* 💼 Work Day mode — REDESIGN 2026-07-30 (mockup 1166dd63 v4b). Work Day =
   the Timeline, work-flavored, with a morning-to-work planner. MULE palette:
   orange #e99821 action, navy #20303f sheet, green #2d8f4e confirm, neutral
   "dawn" wake banner. */
/* ⚠️ TWO GLOBAL-CSS TRAPS in main.css that break every prose line here
   (Greg 7/30 a — the "Here's how it fits" box stacked into big broken rows):
     1. `div{display:flex;flex-direction:column}` — a sentence div puts each
        inline child (<b>, <span>) on its OWN LINE.
     2. `*{font-size:clamp(7px,min(3vw,2.4vh),1.25rem)}` — matches bare <b>
        and <span> DIRECTLY, so inheritance never reaches them and they
        render at the clamp size instead of their parent's.
   Every Work Day sentence must therefore opt out of BOTH. Any new prose
   div goes in this list; any inline child gets font-size:inherit. */
.wd-leg-d,.wd-gr-note,.wd-card-meta,.wd-w-route,.wd-athome-t,.wd-cta-sub,
.wd-cload,.wd-note,.wd-set-lead,.wd-fval,.wd-hf-s{display:block !important}
.wd-leg-d b,.wd-leg-d span,.wd-gr-note b,.wd-gr-note span,.wd-w-row1 b,
.wd-card-meta b,.wd-card-meta span,.wd-athome-t span,.wd-gr-head span,
.wd-cta-done span,.wd-fval span,.wd-w-route b{display:inline !important;font-size:inherit !important}

/* The generic "☀️ Your next plan → Wake me 1:12 PM — set it" floating nudge
   (_vaRenderSuggestCard) was landing ON TOP of the planner and offering a
   COMPETING wake time — the exact conflict the single-CTA rule exists to
   prevent. While Work Day is open, its own alarm CTA is the only one. */
body:has(#workday-overlay.open) #bedside-suggest.floating,
body:has(.wd-commit[style*="flex"]) #bedside-suggest.floating{display:none !important}

.wd-overlay{position:fixed;inset:0;z-index:9000;background:rgba(20,16,12,.55);
  display:none;opacity:0;transition:opacity .25s;overflow-y:auto;-webkit-overflow-scrolling:touch}
.wd-overlay.open{opacity:1}
.wd-sheet{max-width:460px;margin:0 auto;min-height:100%;background:#20303f;color:#eef2f6;
  padding:14px 14px 60px;box-sizing:border-box}
.wd-topbar{display:flex;flex-direction:row !important;justify-content:space-between;align-items:center;margin-bottom:6px}
.wd-mode-pill{background:#e99821;color:#fff;border-radius:20px;padding:4px 13px;font-weight:800;font-size:.82rem}
.wd-close{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.15);display:inline-flex;
  align-items:center;justify-content:center;cursor:pointer;font-weight:800}
.wd-greet{font-weight:800;font-size:1.05rem;text-align:center;padding:6px 4px 12px;text-wrap:balance}

/* editable header */
.wd-head{background:rgba(0,0,0,.28);border-radius:15px;padding:11px 13px;margin-bottom:12px}
.wd-hrow{display:flex;flex-direction:row !important;align-items:center;gap:9px;padding:6px 0;font-size:.9rem}
.wd-hrow + .wd-hrow{border-top:1px solid rgba(255,255,255,.13)}
.wd-hic{width:22px;text-align:center;flex:0 0 22px}
.wd-hval{flex:1;font-weight:700}
.wd-hedit{color:#ffd98c;font-weight:800;font-size:.78rem;cursor:pointer}
.wd-hok{color:#7fdca6;font-size:.76rem;font-weight:800}
.wd-htmp{color:#ffd98c;font-size:.76rem;font-weight:800}
.wd-hcollapse{margin-left:auto;color:#ffd98c;font-weight:900;font-size:1rem;cursor:pointer;padding:0 4px}
.wd-hpeek{color:#cfd8e0;font-weight:700;font-size:.85rem;padding:6px 2px;cursor:pointer;display:flex;align-items:center;gap:6px}
.wd-hpeek .wd-hcollapse{margin-left:auto}
.wd-travel{background:rgba(233,152,33,.16);border:1px dashed #e99821;color:#ffd98c;border-radius:10px;
  padding:7px 10px;margin-top:9px;font-size:.78rem;font-weight:700;text-align:center;cursor:pointer}
.wd-travel.done{background:rgba(127,220,166,.14);border-color:#7fdca6;color:#7fdca6}

/* ── ⏰ WAKE BOX = THE ITINERARY (Greg 7/31 rev4): really light yellow ·
   dark type · ✎ Edit pill snug at top · ⌃/⌄ collapse · per-stop times ── */
.wd-wake2:empty{display:none}
.wd-wake2{background:#fdf7dc;border:1px solid #ecdfae;border-radius:14px;
  padding:6px 13px 12px;margin-bottom:12px;position:relative}
.wd-w-caret{position:absolute;top:6px;right:11px;color:#8a5510;font-weight:800;
  font-size:1.05rem;cursor:pointer;padding:0 4px;z-index:2}
.wd-w-toprow{display:flex;flex-direction:row !important;justify-content:center;
  align-items:center;gap:8px;margin:1px 0 4px}
.wd-w-editpill{display:inline-block;background:#fff;border:1.5px solid #e99821;
  border-radius:12px;padding:2px 14px;font-size:.72rem;font-weight:800;
  color:#232c38;cursor:pointer}
.wd-w-datechip{display:inline-block;background:#fff;border:1.5px solid #e99821;
  border-radius:12px;padding:2px 11px;font-size:.7rem;font-weight:800;
  color:#232c38;cursor:pointer}
.wd-w-oneline{display:flex;align-items:center;justify-content:center;gap:8px;
  font-weight:800;font-size:1.02rem;color:#232c38;padding:6px 18px 5px 0;
  font-variant-numeric:tabular-nums;cursor:pointer}
/* rev B: dotted orange = "I'm editable" — the ONE affordance everywhere */
.wd-tap{color:#8a5510;border-bottom:2px dotted #e99821;cursor:pointer}
.wd-tapedit{display:inline-flex;align-items:center;gap:6px}
.wd-tapedit input[type=time]{border:1.5px solid #e99821;border-radius:8px;
  /* 16px = iPhone Safari's no-auto-zoom threshold (ALARM_TRUTH §flow
     SAFARI TRUTH ②) — under it, focusing the field zooms the viewport */
  padding:2px 6px;font-weight:800;font-size:16px;background:#fff;color:#232c38}
.wd-tapok{font-size:.8em;font-weight:800;color:#2e7d4f;cursor:pointer;padding:2px 4px}
.wd-w-info{margin-top:8px;font-size:.74rem;font-weight:800;color:#2e7d4f}
.wd-w-foot{margin-top:9px;padding-top:8px;border-top:1px solid rgba(35,44,56,.12);
  font-size:.74rem;color:#4a4534;font-weight:700;line-height:1.5}
.wd-w-foot.away{border-top:none;margin-top:5px;padding-top:0;cursor:pointer;color:#8a5510}
#wd-calpop{margin:2px 0 6px}
#wd-calpop .va2-cal{background:#fff;border:1.5px solid #e99821;border-radius:12px;padding:8px}
/* 8/7 Greg (b): .va2-cal-g span has no color of its own — inside the
   yellow box it inherited a pale tone, so CLICKABLE future dates looked
   disabled. Pin: future = dark (tappable), past = pale, pick = orange. */
#wd-calpop .va2-cal-g span{color:#3d3117}
#wd-calpop .va2-cal-g span.past{color:#cfc9bc}
#wd-calpop .va2-cal-g span.pick{color:#fff}
#wd-calpop .va2-cal-g .hd{color:#8a8375}
/* 8/7 Greg (b, wd96): Work-by value goes green when the recalc says
   you're early — deadline and green arrival note agree at a glance */
.wd-tap.wd-tap-early{color:#2c7a3f;border-bottom-color:#2c7a3f}
.wd-w-rows{display:flex;flex-direction:column !important;gap:2px}
.wd-w-line{display:flex;flex-direction:row !important;align-items:baseline;gap:8px;
  padding:4px 0;color:#232c38;font-size:.9rem;font-weight:700}
.wd-w-line + .wd-w-line{border-top:1px solid rgba(35,44,56,.12)}
.wd-w-ico{flex:0 0 auto;font-size:.95rem}
.wd-w-lbl{flex:1;color:#4a4534;font-weight:700;font-size:.84rem;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-w-val{color:#232c38;font-weight:800;font-size:.98rem;font-variant-numeric:tabular-nums;
  display:inline !important;white-space:nowrap}
.wd-w-leave{font-weight:700;color:#7a6a3a;font-size:.8rem}
.wd-w-late{margin-top:8px;font-size:.74rem;font-weight:800;color:#b3261e}
.wd-w-song{display:flex;flex-direction:row !important;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(35,44,56,.12)}
.wd-w-k{font-size:.72rem;color:#232c38;font-weight:800}
/* Greg 7/31 (a): every action wears the thin orange band */
.wd-w-chip{background:#fff;border:1.5px solid #e99821;border-radius:8px;
  padding:5px 10px;font-size:.74rem;font-weight:700;color:#232c38;cursor:pointer}
.wd-w-chip.pick{background:#fdf1dd;color:#8a5510;font-weight:800}
.wd-w-musicbox{margin-top:9px}
/* 🏠 inline places (Greg #54, 8/7): home/work/privacy edit INSIDE the
   yellow box — the white setup page is retired from the returning path */
.wd-w-places2{margin-top:11px;padding-top:11px;border-top:2px solid rgba(35,44,56,.12)}
.wd-pl-lbl{font-size:.68rem;font-weight:900;letter-spacing:.6px;color:var(--or,#8a5406);text-transform:uppercase;margin-bottom:7px;color:#8a5406}
/* ⚠ flex-direction:row !important on every row = the main.css global
   div{flex-direction:column} trap opt-out (Greg field 8/7: the boxes
   rendered as giant stacked columns without it) */
.wd-pl-row{display:flex;flex-direction:row !important;align-items:center;gap:9px;background:#fff;
  border:1.4px solid #e7d9bd;border-radius:11px;padding:9px 11px;margin-bottom:7px;cursor:pointer}
.wd-pl-ic{font-size:1rem;flex:none}
.wd-pl-k{font-weight:800;width:46px;flex:none;color:#232c38;font-size:.82rem}
.wd-pl-v{flex:1;font-weight:700;color:#232c38;font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-pl-go{color:#e99821;font-weight:900}
.wd-pl-edit{background:#fff;border:1.5px solid #e99821;border-radius:11px;padding:9px 10px;margin-bottom:7px}
.wd-pl-erow{display:flex;flex-direction:row !important;align-items:center;gap:8px}
/* 16px = iPhone Safari no-zoom threshold (ALARM_TRUTH §flow SAFARI TRUTH ②) */
.wd-pl-input{flex:1;min-width:0;border:1px solid #ddd6c8;border-radius:8px;padding:6px 9px;font-size:16px;color:#232c38;outline:none}
.wd-pl-save{color:#2e7d4f;font-weight:800;font-size:.82rem;cursor:pointer;white-space:nowrap}
.wd-pl-chips{display:flex;flex-direction:row !important;gap:7px;margin-top:3px}
.wd-pl-city{display:block;font-size:.72rem;color:#8a8f96;font-weight:600}
.wd-pl-chip{border:1.4px solid #d8c49a;background:#fff;color:#6d5a3a;border-radius:99px;padding:4px 12px;font-weight:800;font-size:.8rem;cursor:pointer}
.wd-pl-chip.on{background:#e99821;border-color:#e99821;color:#fff}
.wd-pl-note{font-size:.73rem;color:#8a7a4a;margin-top:9px;line-height:1.45}
.wd-pl-note b{color:#5a4e30}
.wd-w-places2 .wd-cands{margin-top:6px}
.wd-w-places2 .wd-cand{background:#fff;border:1px solid #eadfc2;border-radius:9px;padding:7px 10px;margin-bottom:5px;cursor:pointer}
.wd-w-places2 .wd-cand b{display:block;color:#232c38;font-size:.86rem}
.wd-w-places2 .wd-cand span{color:#6a6350;font-size:.76rem}
.wd-song-input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.25);border-radius:9px;
  background:rgba(0,0,0,.2);color:#fff;font-size:.85rem;padding:8px 10px;outline:none}
.wd-song-hits{margin-top:6px;max-height:180px;overflow-y:auto}
.wd-song-hit{display:flex;flex-direction:column;padding:7px 9px;border-radius:8px;cursor:pointer}
.wd-song-hit:hover{background:rgba(255,255,255,.08)}
.wd-song-hit b{font-size:.82rem;color:#fff}
.wd-song-hit span{font-size:.72rem;color:#c3d2df}

/* ── 🌅 morning section: zone header + the dashed chain rail ── */
.wd-zone{display:flex;align-items:center;gap:8px;margin:10px 2px 8px}
.wd-zt{font-size:1.02rem;font-weight:800}
.wd-chain{border-left:2px dashed rgba(255,255,255,.16);margin:0 0 4px 9px;padding-left:14px}
.wd-cload{color:#9fb0bd;font-weight:700;font-size:.85rem;padding:10px 2px}
.wd-steplbl{display:flex;flex-direction:row !important;align-items:center;gap:8px;margin:10px 0 6px}
.wd-seq{width:20px;height:20px;border-radius:50%;background:#e99821;color:#fff;font-size:.72rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.wd-seq.home{background:#8a5cf6}
.wd-cap{font-size:.74rem;color:#9fb0bd;font-weight:700}

/* ── 🏠 wd79 · HOME TAG on the step header (Greg pick 8/18, Option A) ──
   Home is a pointer people retarget every trip, so it rides the STARTING
   FROM header's empty right side — always visible, zero new rows, which is
   what keeps it compatible with the calm-sheet round. `margin-left:auto`
   claims that empty side; min-width:0 + ellipsis is what actually lets a
   long address shrink (a flex item won't ellipsis at min-width:auto), so a
   Reno hotel name can never push the caption off screen. Explicit
   font-size on the subtree because main.css's `*` clamp hits bare spans
   directly and would otherwise size them off the parent's box. */
.ad-hometag{margin-left:auto;min-width:0;display:inline-flex;align-items:center;gap:3px;
  color:#7c8b99;cursor:pointer;position:relative;max-width:58%}
.ad-hometag,.ad-hometag *{font-size:.7rem !important}
.ad-homeaddr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#5b6b7c}
.ad-homeaddr.none{color:#b0736a;font-style:italic}
.ad-homepen{color:#8a5406;font-weight:800;flex:0 0 auto}
.ad-hometag.editing{max-width:70%;cursor:default}
.ad-homeq{min-width:0;width:100%;border:1.5px solid #e99821;border-radius:7px;padding:3px 7px;
  background:#fff;color:#22303d;font-size:16px !important}  /* 16px: Safari zooms anything smaller */
.ad-homex{color:#9aa1a8;font-weight:800;padding:0 3px;cursor:pointer;flex:0 0 auto}
/* the candidate list floats OUT of the header row — inside it, it would
   stretch the step label and shove the whole plan down on every keystroke */
.ad-hometag .ad-cands{position:absolute;top:100%;right:0;z-index:30;min-width:210px;
  background:#fff;border:1px solid #dbe3ec;border-radius:9px;box-shadow:0 6px 18px rgba(20,30,45,.16);
  margin-top:4px;max-height:210px;overflow-y:auto}

/* mini timeline cards (art band + disc + tags-above-title + meta) */
.wd-card{background:#241f18;border:1px solid #38311f;border-radius:15px;overflow:hidden;margin-bottom:6px;position:relative}
.wd-card.athome{border-style:dashed;border-color:#4a3f66;background:#211d2b}
.wd-grip{position:absolute;top:8px;right:10px;color:#8a8f96;font-size:.9rem;z-index:3;cursor:grab}
.wd-band{height:92px;position:relative;background-size:cover;background-position:center}
.wd-band-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.05) 40%,rgba(0,0,0,.78))}
.wd-band-disc{position:absolute;top:8px;left:9px;width:26px;height:26px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:.82rem;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.wd-band-tags{position:absolute;top:9px;left:44px;display:flex;gap:5px;flex-wrap:wrap;max-width:60%}
.wd-band-tags span{background:rgba(45,143,78,.92);color:#fff;font-size:.6rem;font-weight:800;border-radius:5px;padding:2px 6px}
.wd-band-title{position:absolute;bottom:8px;left:10px;right:10px;color:#fff;font-weight:800;font-size:1rem;
  text-shadow:0 1px 6px rgba(0,0,0,.8)}
.wd-card-body{padding:9px 12px 12px;color:#f0ebe1}
.wd-card-meta{color:#cbb89b;font-size:.76rem;font-weight:600;margin-bottom:9px}
/* at-home card head (no art band — synthetic ritual) */
.wd-athome-head{display:flex;flex-direction:row !important;align-items:center;gap:9px;margin-bottom:8px}
.wd-disc{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;
  font-size:.82rem;color:#fff;flex:0 0 auto}
.wd-athome-t{font-weight:800;font-size:.98rem;color:#f0ebe1}
.wd-athome-tag{color:#7fdca6;font-size:.66rem;font-weight:800}
/* pick WHICH at-home ritual, from the user's own morning tags (Greg 7/30 #2) */
.wd-ahchips{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.wd-ahchip{border:1.5px solid #4a3f66;color:#c9bff0;border-radius:20px;padding:5px 11px;
  font-size:.74rem;font-weight:700;cursor:pointer}
.wd-ahchip.on{background:#8a5cf6;border-color:#8a5cf6;color:#fff}
/* leg mileage — what actually shows a swap landed (the formula rounds
   minutes so two nearby spots both read "~3 min drive") */
.wd-legmi{color:#bfe6cd;font-weight:600;font-size:inherit}

/* ⏱ dwell dial — stacked (label over the stepper) */
.wd-dial2{margin:0 0 10px}
.wd-dial-lbl{font-size:.72rem;color:#a89f8f;font-weight:800;margin-bottom:4px}
.wd-dial-row{display:flex;flex-direction:row !important;align-items:center;gap:10px}
.wd-dial-row b{color:#fff;min-width:78px;text-align:center;font-size:.92rem}
.wd-dstep{width:28px;height:28px;border-radius:50%;border:1.6px solid #e99821;color:#ffcf82;display:flex;
  align-items:center;justify-content:center;font-weight:900;font-size:1.05rem;cursor:pointer;user-select:none}

/* the green "how it fits" leg on each card */
.wd-leg{background:rgba(45,143,78,.13);border:1px solid #2d8f4e;border-radius:11px;padding:9px 11px;margin:2px 0 10px}
.wd-leg-h{color:#7fdca6;font-weight:800;font-size:.78rem;margin-bottom:3px}
.wd-leg-d{color:#bfe6cd;font-size:.72rem;font-weight:600;line-height:1.55}
.wd-leg-d b{color:#fff}
.wd-drive{color:#ffd98c;font-weight:800}

/* Confirm / added / remove / swap */
.wd-btn{display:block;text-align:center;font-weight:800;border-radius:11px;padding:10px;font-size:.86rem;cursor:pointer}
.wd-btn.confirm{background:#2d8f4e;color:#fff}
.wd-mini-remove{text-align:center;color:#9fb0bd;font-size:.72rem;font-weight:700;margin-top:6px;cursor:pointer}
.wd-mini-remove:hover{color:#e8836f}
.wd-added-row{display:flex;flex-direction:row !important;align-items:center;gap:8px;margin-top:2px}
.wd-added-row .wd-ok{color:#7fdca6;font-weight:800;font-size:.82rem;flex:1}
.wd-remove{color:#e8836f;font-weight:800;font-size:.76rem;border:1px solid rgba(232,131,111,.5);
  border-radius:8px;padding:5px 10px;cursor:pointer}
.wd-swap{text-align:center;border:1.5px solid #e99821;color:#ffcf82;border-radius:11px;padding:8px;
  font-size:.8rem;font-weight:800;margin-top:8px;cursor:pointer}
.wd-swaplist{margin-top:6px}
.wd-swaprow{display:flex;flex-direction:column;padding:8px 10px;border-radius:9px;cursor:pointer;border-bottom:1px solid #2c2619}
.wd-swaprow:last-child{border-bottom:none}
.wd-swaprow:hover{background:rgba(255,255,255,.05)}
.wd-swaprow.muted{color:#9fb0bd;cursor:default}
.wd-swaprow b{font-size:.85rem;color:#f0ebe1}
.wd-swaprow span{font-size:.72rem;color:#a89f8f}
.wd-addstop{display:block;text-align:center;border:1.5px dashed #e99821;color:#ffd98c;border-radius:12px;
  padding:9px;font-size:.8rem;font-weight:800;margin:8px 0 6px;cursor:pointer}
/* 8/7 (Greg §locked-#7): the honest "add your home" panel — shown instead
   of a fabricated chain whenever home isn't declared */
.wd-needhome{border:1.5px solid #e99821;background:rgba(233,152,33,.08);border-radius:14px;
  padding:16px 15px;margin:10px 0;cursor:pointer;text-align:center}
.wd-nh-t{font-size:1rem;font-weight:800;color:#ffd98c}
.wd-nh-s{font-size:.82rem;color:#cdd8e4;margin:6px 0 10px;line-height:1.4}
.wd-nh-cta{display:inline-block;background:#e99821;color:#fff;font-weight:800;
  border-radius:10px;padding:8px 16px;font-size:.9rem}

/* 🚿 get-ready block — its own fixed (blue) step */
.wd-getready{background:rgba(109,176,255,.09);border:1px solid rgba(109,176,255,.35);border-radius:13px;
  padding:11px 13px;margin-bottom:8px}
.wd-gr-head{font-weight:800;font-size:.92rem;color:#cfe3ff}
.wd-gr-sub{color:#9fb4c9;font-size:.72rem;font-weight:600}
.wd-gr-time{display:flex;flex-direction:row !important;align-items:baseline;gap:9px;margin-top:5px}
.wd-gr-time b{color:#fff;font-size:1.05rem}
.wd-gr-brk{color:#9fb4c9;font-size:.74rem;font-weight:700}
.wd-gr-note{color:#8fb0d6;font-size:.72rem;font-weight:600;margin-top:6px;line-height:1.5}
.wd-gr-note b{color:#cfe3ff}

/* ── the ONE primary action (Greg 7/30 e+f) — STICKY so it's always a
   thumb away while scrolling the morning, and docks naturally at the end
   (Greg 7/30 b1). One button, never duplicated. ── */
#wd-cta:empty{display:none}
#wd-cta{position:sticky;bottom:0;z-index:5;background:#20303f;
  margin:16px -14px 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -12px 20px -10px rgba(0,0,0,.6)}
.wd-cta-btn{display:block;text-align:center;background:#e99821;color:#fff;font-weight:800;border-radius:12px;
  padding:14px;font-size:.95rem;margin:0;cursor:pointer}
.wd-cta-sub{text-align:center;color:#9fb0bd;font-size:.74rem;font-weight:600;margin-top:7px;line-height:1.5}
/* deliberate two-line CTA (8/5 PM): time+date up top, what-else-happens below */
.wd-cta-2l{line-height:1.4;padding:11px 14px}
.wd-cta-2l small{display:block !important;font-weight:700;font-size:.76rem;opacity:.92;margin-top:2px}
.wd-cta-done{text-align:center;color:#7fdca6;font-weight:800;font-size:.9rem;margin:16px 0 0}
.wd-cta-edit{color:#ffd98c;font-weight:800;font-size:.78rem;margin-left:8px;cursor:pointer}
.wd-goto{display:block;text-align:center;background:#e99821;color:#fff;font-weight:800;border-radius:12px;
  padding:13px;font-size:.9rem;margin:12px 0 2px;cursor:pointer}
/* once Bedside is the primary action, the day bridge steps back */
.wd-goto.secondary{background:transparent;border:1.5px solid #e99821;color:#ffcf82;margin-top:9px}

/* Greg 7/31 F2 (approved): the whole receipt state = ONE row of three boxes.
   Overrides win over the stacked .wd-cta-btn/.wd-goto geometry above. */
.wd-cta-row3{display:flex;flex-direction:row !important;gap:8px;margin-top:2px}
.wd-cta-row3 .wd-cta-box{flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;border-radius:12px;padding:9px 6px;margin:0;
  min-height:52px;font-size:.8rem;font-weight:800;line-height:1.3;cursor:pointer}
.wd-cta-row3 .wd-cta-box small{font-weight:600;font-size:.82em;opacity:.85;margin-top:2px}
.wd-cta-row3 .wd-cta-done{border:1.5px solid rgba(255,255,255,.35);color:#7fdca6;margin:0}
.wd-cta-row3 .wd-cta-done small{color:#ffd98c;opacity:1}
.wd-cta-row3 .wd-cta-btn.bed{background:#e99821;color:#fff;box-shadow:0 2px 8px rgba(233,152,33,.4);padding:9px 6px}
.wd-cta-row3 .wd-goto.secondary{margin:0;padding:9px 6px;font-size:.8rem}

/* the music search opens INSIDE the light-yellow box now — light-field it */
.wd-wake2 .wd-song-input{background:#fff;color:#232c38;border:1.5px solid #e99821}
.wd-wake2 .wd-song-hit b{color:#232c38}
.wd-wake2 .wd-song-hit span{color:#6a6350}
.wd-wake2 .wd-song-hit:hover{background:rgba(233,152,33,.12)}
/* wake-first ± steppers sit on yellow here (shared class is dark-tuned) */
.wd-wake2 .wd-dstep{color:#8a5510;border-color:#e99821;background:#fff}

/* ── commit sheet: "you're agreeing to the whole morning" (Greg 7/30 b2) ── */
/* NB the global `div{flex-direction:column}` applies here too — so the
   bottom-sheet anchor is justify-content (main axis = vertical), NOT
   align-items. Stating both explicitly so it can't drift again. */
.wd-commit{display:none;position:fixed;inset:0;z-index:99998;background:rgba(10,14,20,.72);
  flex-direction:column !important;justify-content:flex-end;align-items:center;padding:16px}
.wd-cm-box{background:#20303f;border:1px solid rgba(255,255,255,.16);border-radius:18px;
  padding:18px 16px calc(16px + env(safe-area-inset-bottom, 0px));width:100%;max-width:430px}
.wd-cm-h{font-weight:800;font-size:1.05rem;color:#fff;text-wrap:balance}
.wd-cm-sub{color:#9fb0bd;font-size:.8rem;font-weight:600;margin:4px 0 12px;display:block !important}
.wd-cm-row{display:flex;flex-direction:row !important;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.08)}
.wd-cm-row:last-of-type{border-bottom:none;margin-bottom:12px}
.wd-cm-disc{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;
  font-size:.85rem;color:#fff;flex:0 0 auto}
.wd-cm-t{font-weight:800;font-size:.88rem;color:#f0ebe1;display:block !important}
.wd-cm-m{color:#9fb0bd;font-size:.72rem;font-weight:600;display:block !important;margin-top:2px}
.wd-cm-alt{text-align:center;border:1.5px solid #e99821;color:#ffcf82;border-radius:12px;padding:12px;
  font-size:.86rem;font-weight:800;margin-top:9px;cursor:pointer}
.wd-cm-cancel{text-align:center;color:#9fb0bd;font-size:.8rem;font-weight:700;padding:12px 0 2px;cursor:pointer}

/* "Also clear your morning stops?" (utils.js vaDelete) reuses the commit
   sheet, but it opens OVER the Alarms dialog — and .dialog is z-index
   999999, so the shared 99998 would bury it. */
#va-clearsheet{z-index:1000001}

/* ✨ "Enhance the upcoming day with MULE time!" — in the alarm editor +
   alarm list (Greg 7/28), the invite to plan Work Day before the alarm */
.va-enhance{display:block;text-align:center;margin:0 0 13px;padding:11px 12px;cursor:pointer;
  border:1.5px solid #e99821;border-radius:13px;background:rgba(233,152,33,.14);
  color:#111;font-weight:800;font-size:.92rem;line-height:1.3}
.va-enhance-sub{font-size:.7rem;font-weight:700;color:#444;margin-top:3px}
.va-enhance .va-star{color:#e99821}
/* Greg 7/31: the banner needs a real CTA — the enhanced alarm should WIN
   over a plain one, so give it the canonical action-orange button */
.va-enhance-btn{margin:9px auto 0;max-width:220px;background:#e99821;color:#fff;
  font-weight:800;font-size:.86rem;border-radius:11px;padding:8px 16px;
  box-shadow:0 2px 6px rgba(233,152,33,.35)}

/* ═══ REV D (Greg 7/31): one-question start · wake strip · why-lines ·
   contenders · 🎲 taste chips ═══ */
.wd-bigq{text-align:center;padding:14px 6px}
.wd-bq-q{font-weight:800;font-size:1.15rem;margin-bottom:4px}
.wd-bq-sub{color:#8b8577;font-size:.78rem;margin-bottom:12px}
.wd-bigq input[type=time]{border:2px solid #e99821;border-radius:12px;background:#fff;
  color:#232c38;font-weight:800;font-size:1.3rem;padding:8px 14px;text-align:center}
.wd-bq-full{color:#9a9382;font-size:.74rem;cursor:pointer;margin-top:10px}
.wd-wstrip{background:#fdf7dc;border:1px solid #ecdfae;border-radius:11px;padding:7px 12px;
  display:flex;justify-content:center;gap:8px;font-weight:800;color:#232c38;cursor:pointer;
  font-variant-numeric:tabular-nums;font-size:.95rem;margin-bottom:10px}
.wd-wstrip-more{color:#8a5510;font-size:.8rem}
.wd-why{color:#ffd98c;font-size:.8rem;font-weight:700;font-style:italic;margin-bottom:3px}
/* the card-open symbol (8/5 PM: same ↗ the cards use, no copy) */
.wd-band-explore{position:absolute;top:6px;right:34px;color:#fff;font-size:.85rem;
  font-weight:800;background:rgba(0,0,0,.45);border-radius:50%;width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;z-index:2}
.wd-seatit{color:#7fdca6;font-weight:800;font-size:.72rem;margin-left:auto}
.wd-dicebtn{display:block;width:max-content;margin:10px auto;border:1.5px dashed #e99821;
  color:#ffd98c;border-radius:12px;padding:7px 18px;font-weight:800;font-size:.84rem;cursor:pointer}
/* display:block beats the global div→column-flex rule — chips must flow
   inline at word width and wrap (Greg 7/31), not stack stretched */
.wd-dicebox{display:block;background:#2c2620;border:1.5px dashed #e99821;border-radius:14px;
  padding:12px;margin:10px 0;text-align:center}
.wd-dice-q{color:#ffd98c;font-weight:800;font-size:.9rem;margin-bottom:8px}
.wd-dicechip{display:inline-block;width:max-content;border:1.5px solid #e99821;border-radius:14px;
  color:#e8e2d4;font-size:.76rem;font-weight:700;padding:4px 11px;margin:3px;cursor:pointer}
.wd-dicechip.on{background:#e99821;color:#fff}
/* ☕|🍳|skip — the fuel stop's three-way (explicit row-flex vs the trap) */
.wd-fuelrow{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin:2px 0 7px}
.wd-fuelchip{width:max-content;border:1.5px solid #46596b;border-radius:14px;color:#cfdae4;
  font-size:.76rem;font-weight:700;padding:4px 11px;cursor:pointer}
.wd-fuelchip.on{background:#e99821;border-color:#e99821;color:#fff}
.wd-fuelchip.skip{opacity:.7}
/* the date rides the collapsed one-liner (Greg 7/31 d) */
.wd-w-oldate{color:#8a5510;font-size:.72rem;font-weight:700;margin-left:6px}
/* home/work/hours door inside the 📅 dropdown (Greg 7/31) */
.wd-calpop-set{display:block;margin-top:8px;padding:7px 10px;border-top:1px solid #eadfc2;
  color:#8a5406;font-size:.8rem;font-weight:800;cursor:pointer;text-align:center}

/* ═══ 🌞 MULE Day chooser doors (Greg 7/31: dawn treatment, NO brown) ═══ */
/* Greg 7/31: centered card, rounded all the way around (was bottom-sheet) */
.md-sheet{position:fixed;inset:0;z-index:1000002;display:flex;align-items:center;
  justify-content:center;background:rgba(20,18,28,.45);opacity:0;transition:opacity .25s;
  padding:0 14px}
.md-sheet.lit{opacity:1}
.md-box{background:linear-gradient(180deg,#fffdf6,#fff6e4);border-radius:22px;
  padding:20px 18px;width:100%;max-width:440px;margin:0 auto;
  box-shadow:0 8px 34px rgba(233,152,33,.3)}
.md-h{font-weight:800;font-size:1.05rem;text-align:center;color:#26282f;margin-bottom:14px}
.md-doors{display:flex;gap:10px}
.md-door{flex:1;background:#fff;border:1.5px solid #f0dcb8;border-radius:16px;
  padding:16px 10px 12px;text-align:center;cursor:pointer;position:relative}
.md-door.primary{border-color:#e99821;background:linear-gradient(180deg,#fff,#fff3dd);
  box-shadow:0 3px 10px rgba(233,152,33,.22)}
.md-ico{font-size:1.7rem}
.md-t{font-weight:800;margin-top:3px;color:#26282f}
.md-s{font-size:.72rem;color:#7a6a4d;margin-top:3px;line-height:1.35}
.md-rec{margin-top:7px;display:inline-block;background:#e99821;color:#fff;
  font-size:.62rem;font-weight:800;letter-spacing:.05em;border-radius:10px;
  padding:2px 9px;text-transform:uppercase}
.md-cancel{text-align:center;color:#9a8a68;font-weight:700;font-size:.82rem;
  margin-top:13px;cursor:pointer}
/* 🌞 MULE Day sheet accents */
.wd-mode-pill.mule{background:linear-gradient(90deg,#f7b733,#e99821);color:#fff}
.md-anchorline{margin:2px 14px 8px;background:#fff6e4;border:1.5px solid #e99821;
  border-radius:12px;padding:9px 12px;font-size:.86rem;color:#6b4e14;text-align:center}
.md-anchorline.free{border-style:dashed;color:#8a7a55}
.md-horizon{margin:0 14px 8px;font-size:.78rem;color:#8a7a55;text-align:center}

/* ── setup dialog (rides inside .dialog) ── */
.wd-setup{text-align:left;max-width:420px;margin:0 auto}
.wd-set-lead{font-size:.86rem;color:#6d675c;margin:2px 4px 12px}
.wd-field{display:flex;flex-direction:row !important;align-items:center;gap:9px;border:1.5px solid #e6dfcf;
  border-radius:11px;padding:10px 12px;margin:8px 2px}
.wd-fico{font-size:1.05rem;flex:0 0 auto}
.wd-flbl{color:#8a8375;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.wd-fval{font-weight:700;margin-top:2px}
.wd-ok{color:#2e7d4f;font-size:.74rem;font-weight:800}
.wd-input{width:100%;border:none;outline:none;font-size:.95rem;font-weight:700;background:transparent;color:#23201b;padding:2px 0}
.wd-cands{margin:0 2px}
.wd-cand{border:1px solid #e6dfcf;border-radius:10px;padding:8px 11px;margin-top:6px;cursor:pointer;display:flex;flex-direction:column}
.wd-cand:hover{border-color:#e99821}
.wd-cand span{color:#8a8375;font-size:.74rem}
.wd-cand.picked{border-color:#2e7d4f;background:#eef7f0;cursor:default}
.wd-chips{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:7px;margin:8px 2px}
.wd-chip{border:1.5px solid #e6dfcf;border-radius:9px;padding:5px 11px;font-size:.78rem;font-weight:700;cursor:pointer}
.wd-chip.on{background:#e99821;border-color:#e99821;color:#fff}
.wd-note{font-size:.74rem;color:#8a8375;margin:2px 4px}
.wd-timelbl{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#6d675c;font-weight:700}
.wd-time{border:1.5px solid #cfc9bc;border-radius:9px;padding:5px 9px;font-size:16px}
.wd-primary{background:#e99821;color:#fff;text-align:center;font-weight:800;border-radius:12px;padding:12px 0;margin:14px 2px 4px;cursor:pointer;font-size:.95rem}

/* ⠿ drag-and-drop stop reorder (8/1, wd27) — grip must own its touches
   (touch-action:none or mobile Safari scrolls instead of dragging) */
.wd-grip{touch-action:none;user-select:none;-webkit-user-select:none;padding:6px 8px;margin:-6px -8px}
.wd-card.wd-dragging{opacity:.92;z-index:6;position:relative;box-shadow:0 10px 24px rgba(0,0,0,.3);transition:none}
.wd-card.wd-dropmark-top{box-shadow:0 -3px 0 0 #e99821, 0 1px 4px rgba(0,0,0,.12)}
.wd-card.wd-dropmark-bot{box-shadow:0 3px 0 0 #e99821, 0 1px 4px rgba(0,0,0,.12)}

/* 8/1 Greg (b): the ⠿ grip earns its keep — LEFT-middle of each stop
   card, bigger, like the mockup; card content clears it */
.wd-card[data-key] .wd-grip{top:50%;right:auto;left:5px;transform:translateY(-50%);
  font-size:1.25rem;color:#9aa1a8;letter-spacing:-2px;line-height:1}
.wd-card[data-key]{padding-left:22px}
.wd-card[data-key] .wd-grip:active{color:#e99821}

/* ↗ open-the-card (8/5 PM root fix): explore_detail is a PAGE — the
   overlay steps aside while it's open; the fixed ✕ pill brings it back */
/* display:none, DOUBLY important: (a) the app-loading reveal rule
   (body.app-loaded > :not(#app-loading-screen){visibility:visible}) has
   ID specificity via :not() and beats class pairs on body children;
   (b) visibility:hidden can't work at all — the universal
   *{visibility:visible} rule resurrects every DESCENDANT (visibility,
   unlike display, lets explicitly-visible children paint inside a
   hidden ancestor). display:none is loophole-free and also beats the
   overlay's inline style.display='block'. */
.wd-overlay.wd-peek{display:none !important}
#wd-cardx{position:fixed;left:50%;transform:translateX(-50%);bottom:64px;z-index:2000005;
  background:#20303f;color:#ffd98c;border:1.6px solid #e99821;border-radius:22px;
  padding:9px 20px;font-weight:800;font-size:.88rem;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.35);white-space:nowrap}

/* ═══ 🌅 one-loop S1: the one door (tabs · honest anchor · CTA) ═══ */
.mdt-top{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center;margin-bottom:6px}
.mdt-label{color:#e99821;font-weight:800;font-size:15px}
.mdt-x{background:#39485a;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;color:#cfdae5}
.mdt-tabs{display:flex;flex-direction:row!important;background:#2e3f52;border-radius:12px;padding:3px;margin:10px 0 12px}
.mdt-tabs div{flex:1;text-align:center;padding:8px 4px;border-radius:10px;font-size:14px;font-weight:700;color:#9fb1c1;cursor:pointer}
.mdt-tabs div.on{background:#e99821;color:#3a2a08}
.mdt-anchor{background:#fdf4e4;border:1.6px solid #e99821;border-radius:12px;padding:12px;color:#4a3208;text-align:center;min-height:74px}
.mdt-q{font-size:13.5px;font-weight:700;margin-bottom:3px}
.mdt-big{font-size:15.5px}
.mdt-big b{font-size:16.5px}
.mdt-prov{display:flex;flex-direction:row!important;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.mdt-chip{background:#fff;border:1.2px solid #d9c089;border-radius:14px;padding:2px 10px;font-size:12px;color:#6b5a2a;white-space:nowrap;cursor:pointer}
.mdt-chip.act{border-color:#e99821;color:#b06f10;font-weight:800}
.mdt-cta{background:linear-gradient(90deg,#eda63a,#e99821);color:#fff;border-radius:13px;text-align:center;font-weight:800;font-size:15px;padding:12px;margin-top:12px;cursor:pointer}
.mdt-time{width:100%;box-sizing:border-box;border:1.6px solid #e99821;border-radius:11px;padding:9px;font-size:20px;font-weight:800;text-align:center;background:#fff;color:#1e2c3a;margin-top:6px}
.mdt-sub{font-size:11.5px;color:#8a7040;margin-top:5px}
.mdt-today{font-size:10.5px;background:#e99821;color:#fff;border-radius:8px;padding:1px 7px;font-weight:800;vertical-align:2px}
/* 8/5 banner toggle: the flavor is chosen ON the banner (one-loop S1.6) */
.va-enhance-btns{display:flex;flex-direction:row!important;gap:8px;justify-content:center;margin-top:9px}
.va-enhance-btns .va-enhance-btn{margin:0;max-width:none;flex:1;padding:8px 10px;cursor:pointer}
.wd-triplink{text-align:center;font-size:.82rem;font-weight:700;color:#8a5406;margin-top:10px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* 🎯 one-loop S2a: the anchor strip atop the builder */
.wd-anchor{background:#fdf4e4;border:1.6px solid #e99821;border-radius:12px;padding:9px 12px;color:#4a3208;font-size:.92rem;text-align:center;margin-bottom:10px}
.wd-anchor-edit{margin-left:8px;color:#b06f10;font-weight:800;cursor:pointer;border:1.2px solid #e99821;border-radius:12px;padding:1px 9px;font-size:.8rem;background:#fff}
.wd-anchor-today{font-size:.66rem;background:#e99821;color:#fff;border-radius:8px;padding:1px 7px;font-weight:800;vertical-align:2px;margin-left:4px}
.wd-anchor-away{font-size:.74rem;color:#8a5406;font-weight:700;margin-top:4px}
/* 🚨 8/5 fit guard: honesty banners over silent nonsense */
.wd-fitbanner{background:#fbeae7;border:1.6px solid #c0392b;color:#8a2418;border-radius:12px;padding:9px 12px;font-size:.86rem;font-weight:700;text-align:center;margin-bottom:10px}
.wd-fitbanner u{cursor:pointer;text-underline-offset:3px}
.wd-cta-blocked{background:#6b7787!important;box-shadow:none!important;cursor:default}
/* one-loop S2d: movement column · between-card leg pills · 🎯 interests */
.wd-mvcol{display:flex;flex-direction:column!important;align-items:center;gap:2px;flex:none}
.wd-mvarrow{border:1.2px solid #4a90c2;background:#233850;color:#bcd7ef;border-radius:9px;padding:0 7px;font-size:.78rem;font-weight:800;cursor:pointer;line-height:1.5}
.wd-legpill{width:fit-content;margin:2px auto;background:#dbe9f7;border:1.5px solid #e99821;color:#2c4a66;font-size:.72rem;font-weight:800;border-radius:14px;padding:2px 12px}
.wd-intbox{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:5px;align-items:center;border-top:1px dashed #4a90c2;margin-top:7px;padding-top:7px}
.wd-inttag{background:#233850;border:1.2px solid #4a90c2;color:#bcd7ef;border-radius:13px;padding:2px 10px;font-size:.72rem;font-weight:700;cursor:pointer}
.wd-intsearch{display:inline-flex;flex-direction:row!important;align-items:center;gap:5px;background:#1b2836;border:1.2px solid #5b7188;border-radius:14px;padding:2px 9px}
.wd-intsearch input{background:transparent;border:none;outline:none;color:#e8eef4;font-size:.72rem;width:96px}
.wd-intload{color:#7fa3c4;font-size:.72rem}
.wd-intnote{width:100%;font-size:.62rem;color:#7fa3c4}
/* ═══ 🌅 S3 LIVE MODE (one-loop final): ✓ compress · NOW frame · pace
   strip · equal 🗺 directions in every drivable box ═══ */
.wd-pace{display:flex;flex-direction:row!important;align-items:center;gap:7px;background:#eafaf0;border:1.6px solid #27ae60;color:#14562e;border-radius:12px;padding:8px 12px;font-size:.88rem;font-weight:700;margin-bottom:10px}
.wd-pace.tight{background:#fdf6e3;border-color:#e9b421;color:#6b4e08}
.wd-pace.over{background:#fdf4e4;border-color:#e99821;color:#6b4e08;justify-content:center}
.wd-pace-d{margin-left:auto;font-size:.74rem;font-weight:800;opacity:.85;white-space:nowrap}
.wd-live-done{display:flex;flex-direction:row!important;align-items:center;gap:7px;background:#20303c;border:1.3px solid #3d5a4e;color:#9fd3b4;border-radius:12px;padding:7px 12px;font-size:.84rem;font-weight:700;margin:6px 0;cursor:pointer}
.wd-live-done .wd-ld-t{color:#7fa392;font-weight:600;font-size:.76rem}
.wd-live-done .wd-ld-x{margin-left:auto;color:#7fa392}
.wd-live-done.open{margin-bottom:0;border-radius:12px 12px 0 0}
.wd-live-done.static{cursor:default}
.wd-live-now{position:relative;border:2px solid #e99821;border-radius:16px;padding:8px 6px 6px;margin:10px 0;box-shadow:0 2px 12px rgba(233,152,33,.25)}
.wd-now-chip{position:absolute;top:-11px;left:14px;background:#e99821;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.6px;border-radius:9px;padding:2px 10px}
.wd-dirbtn{display:block;background:linear-gradient(90deg,#eda63a,#e99821);color:#fff;border-radius:12px;text-align:center;font-weight:800;font-size:.88rem;padding:9px 12px;margin:8px 0 2px;cursor:pointer;box-shadow:0 1px 6px rgba(233,152,33,.35)}
.wd-live-dest{background:#2a3a4a;border:1.5px solid #5b7188;border-radius:14px;padding:10px 12px;margin:8px 0;color:#e8eef4;font-size:.92rem;font-weight:800}
.wd-live-dest .wd-ld-t{color:#9fb0bd;font-weight:600;font-size:.78rem;margin-left:6px}
.wd-cta-cap{text-align:center;color:#8496a5;font-size:.7rem;font-weight:600;margin-top:6px}
/* 🏆 walkthrough r3+8: challenge line in the at-home workout card */
.wd-ah-rewards{width:fit-content;background:#3a3320;border:1.2px solid #e9b421;color:#f0cf7a;border-radius:12px;padding:2px 11px;font-size:.72rem;font-weight:800;margin:2px 0 4px}
/* ═══ 8/5 walkthrough alignment (mock screen 2, box by box) ═══ */
.wd-mode-lbl{color:#e99821;font-weight:800;font-size:15px}
.wd-info-chip{background:#2e3f52;border:1.2px solid #46596e;color:#9fb1c1;border-radius:14px;padding:2px 11px;font-size:.74rem;font-weight:700;cursor:pointer;margin-left:auto;margin-right:10px}
.wd-tabs2{display:flex;flex-direction:row!important;background:#2e3f52;border-radius:12px;padding:3px;margin:2px 0 10px}
.wd-tabs2 div{flex:1;text-align:center;padding:8px 4px;border-radius:10px;font-size:14px;font-weight:700;color:#9fb1c1;cursor:pointer}
.wd-tabs2 div.on{background:#e99821;color:#3a2a08}
/* 8/5 Greg: '1-2 rows, small pencil' — the global div col-flex trap was
   stacking every child on its own line and stretching the ✎ full-width */
.wd-anchor.compact{display:flex;flex-direction:row!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;padding:8px 11px;font-size:.9rem;margin-bottom:4px}
.wd-anchor.compact .wd-anchor-edit{flex:0 0 auto;width:auto;align-self:center}
/* 8/5 Greg field: sheet renders DARK — ink must be light (was dark-on-dark, unreadable) */
.wd-exp-big{font-size:18px;font-weight:800;text-align:center;margin-bottom:10px;color:#f2f6fa}
.wd-exp-steps{text-align:left;font-size:13.5px;color:#e6edf4;max-width:36ch;margin:0 auto 10px}
/* Greg 'design 101' 8/5: the div col-flex trap put the bolds AND the
   trailing punctuation on their own rows — each step must be ONE
   flowing sentence (same opt-out as every prose div in this file) */
.wd-exp-steps div{display:block !important;margin:8px 0;line-height:1.55}
.wd-exp-steps b{display:inline !important;font-size:inherit !important;color:#f0c574}
#wd-explainer .wd-cm-box{background:#2c3d50;border:1.4px solid #5b7188;position:relative}
.wd-exp-x{position:absolute;top:8px;right:12px;color:#9fb0bd;font-weight:800;font-size:1.05rem;
  cursor:pointer;padding:4px 8px;z-index:2}
.wd-wakebox{background:#233850;border:1.5px solid #7ea9d4;border-radius:15px;padding:10px 12px;margin:4px 0 10px;color:#e8eef4}
.wd-wb-wake{text-align:center;font-size:.98rem;font-weight:800}
.wd-wb-time{border-bottom:2px dotted #d9a53f;cursor:pointer;color:#f0c574}
.wd-wb-places{border:1.3px solid #5b7188;border-radius:11px;padding:8px 10px;margin-top:9px}
.wd-wb-pt{font-size:.7rem;font-weight:800;color:#cfdae5;margin-bottom:4px;display:flex;flex-direction:row!important;justify-content:space-between}
.wd-wb-edit{font-weight:400;color:#9fb1c1;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.wd-wb-prow{display:flex;flex-direction:row!important;justify-content:space-between;gap:10px;font-size:.8rem;padding:2px 0;cursor:pointer}
.wd-wb-v{color:#f0c574;font-weight:700;text-align:right}
.wd-anchorstop{background:#2a3a4a;border:1.6px solid #e99821;border-radius:14px;padding:10px 12px;margin:8px 0;color:#e8eef4}
/* THE LATE CONTRACT (8/6, ALARM_TRUTH §math): a knowingly-late morning is
   allowed but never quiet — the anchor itself goes red with the ↺ door */
.wd-anchorstop.late{border-color:#e05a3a;background:#4a2f28}
.wd-anchorstop.late .wd-as-tm{color:#ff9d80;border-bottom-color:#e05a3a}
.wd-anchorstop.late .wd-as-why{color:#ffb9a6;font-weight:700}
.wd-anchorstop.late .wd-as-why .wd-tap{color:#ffd9cf;border-bottom:2px dotted #ff9d80;cursor:pointer;margin-left:6px;font-weight:800}
.wd-cta-late{color:#e05a3a!important;font-weight:800!important}
.wd-as-r1{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.wd-as-nm{font-size:.95rem;font-weight:800}
.wd-as-badge{font-size:.62rem;background:#e99821;color:#3a2a08;border-radius:8px;padding:1px 7px;font-weight:800;vertical-align:2px}
.wd-as-tm{font-size:.82rem;font-weight:800;color:#f0c574;border-bottom:2px dotted #d9a53f;cursor:pointer;white-space:nowrap}
.wd-as-why{font-size:.72rem;color:#9fb0bd;margin-top:3px}
/* 8/5 round 2: on-way cards wear the MOCK's blue box (Greg: 'not the
   brown — the blue') + eyebrow inside + inline ⏱ times + one ops row */
.wd-card.onway2{background:#2c455e;border:1.5px solid #4a90c2;padding:9px 11px 10px;display:block}
.wd-card.onway2 .wd-card-body{padding:0;display:block}
.wd-eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.8px;color:#9fb1c1;text-transform:uppercase;margin:1px 0 6px}
.wd-card.onway2 .wd-band{border-radius:10px;overflow:hidden}
.wd-card.onway2 .wd-card-meta{margin:6px 0 4px}
.wd-whyq{background:#1f3527;border:1.3px solid #3d6b4a;border-radius:10px;color:#e7d996;font-style:italic;font-size:.8rem;font-weight:700;padding:7px 10px;margin:6px 0}
.wd-dialrow{display:flex;flex-direction:row!important;align-items:center;gap:8px;margin:7px 0;flex-wrap:wrap}
.wd-dialrow .wd-dl{font-size:.74rem;color:#9fb1c1;font-weight:700}
.wd-dialrow b{font-size:.88rem}
.wd-dtimes{margin-left:auto;color:#f0c574;font-weight:800;font-size:.8rem;white-space:nowrap}
.wd-ops{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.wd-opbtn{background:#233850;border:1.2px solid #4a90c2;color:#bcd7ef;border-radius:13px;padding:3px 11px;font-size:.74rem;font-weight:700;cursor:pointer;white-space:nowrap}
.wd-mvgrp{display:flex;flex-direction:row!important;gap:5px;margin-left:auto}
.wd-opbtn.wd-grip{cursor:grab;touch-action:none}
/* the ops-row drag chip must NOT inherit the legacy absolute grip */
.wd-card[data-key] .wd-opbtn.wd-grip{position:static;top:auto;left:auto;right:auto;transform:none;margin:0;padding:3px 11px;color:#bcd7ef;font-size:.74rem;z-index:auto}
/* 8/5 Greg: 'Wake to' label on its own line, the 3 options in ONE equal
   row (all or none) — chips share the width, ellipsize before wrapping */
.wd-wakebox .wd-w-song{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px}
.wd-wakebox .wd-w-song .wd-w-k{flex:0 0 100%;text-align:left;font-size:.78rem;font-weight:700;color:#cfdae5}
.wd-wakebox .wd-w-chip{flex:1 1 0;min-width:0;text-align:center;font-size:.7rem;padding:5px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* at-home wears the same blue dress, dashed to mark the home zone */
.wd-card.athome.onway2{border-style:dashed}
/* 8/5 'too cluttered': get-ready = one row + tiny sub */
.wd-gr-r1{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.wd-gr-nm{font-size:.95rem;font-weight:800}
.wd-gr-sub2{display:block!important;font-size:.72rem;color:#9fb0bd;font-weight:600;margin-top:3px}
/* 8/5 Greg: ⏱ + dwell + times ONE row · ops chips ONE row (🗑 icon-only) */
.wd-dialrow{flex-wrap:nowrap}
.wd-dtimes{overflow:hidden;text-overflow:ellipsis}
.wd-ops{flex-wrap:nowrap}
.wd-ops .wd-opbtn{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* 8/5: interests tags ride INSIDE the alternatives box (one door) */
.wd-intbox.in-alts{border-top:none;border-bottom:1px dashed #4a90c2;margin:2px 0 7px;padding:2px 0 8px}

/* 🕰 browse-the-day door (Greg 8/14) — quiet link under the CTA */
.wd-daylink{text-align:center;font-size:.84rem;font-weight:700;color:#2f6fdd;margin:10px 0 4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* 🌅 morning strip inside Time Travel (Greg pick A, 8/14) */
.wd-ttstrip{border:1.5px solid #f0c780;background:#fff8ec;border-radius:11px;padding:7px 10px;margin:8px 8px 2px;cursor:pointer}
.wd-tts-h{font-weight:800;font-size:.8rem;color:#8a5406;display:flex;justify-content:space-between;align-items:center}
.wd-tts-h .wd-tts-go{color:#2563c9;font-size:.74rem;font-weight:800}
.wd-tts-row{display:flex;flex-direction:row !important;align-items:center;gap:7px;font-size:.82rem;padding:3px 0;border-top:1px dashed #eadfc8;color:#1c2430}
.wd-tts-row:first-of-type{border-top:none}
.wd-tts-t{font-variant-numeric:tabular-nums;color:#8a5406;font-weight:800;min-width:112px;flex:none}
.wd-tts-n{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-tts-ah{color:#2d8f4e;font-weight:800;font-size:.66rem;letter-spacing:.04em;flex:none}
.wd-tts-leg{color:#7a8593;font-size:.74rem;font-weight:700}

/* ═══ 💠 LIGHT-BLUE TOAST GROUND (Greg 8/14: "make the background color in
   the blue toast a light shade of blue... that will help everything else
   pop"). The sheet ground flips navy → light sky; every stop card, button
   and drive-time pill keeps its own solid box and now pops against it.
   ONLY text that sits DIRECTLY on the sheet re-inks dark here — anything
   inside a self-backgrounded box (onway2 cards, yellow wake box, wakebox,
   anchorstop, live-done/dest, commit sheet, explainer) is untouched.
   Whole block is append-only: delete it and the navy sheet is back. ═══ */
.wd-sheet{background:#e3eef8;color:#1c2b3a}
.wd-close{background:rgba(28,43,58,.1);color:#1c2b3a}
/* the editable header keeps its dark dress explicitly — its interior
   whites used to inherit the sheet's light ink and now must not */
.wd-head{background:#20303f;color:#eef2f6}
.wd-chain{border-left-color:rgba(28,43,58,.28)}
.wd-cload,.wd-cap{color:#54687c}
.wd-seatit{color:#1e7a43}
.wd-why{color:#8a5406}
/* get-ready sat nearly transparent over navy — solid dark blue keeps its
   pale inks honest AND makes it a popping box like its siblings */
.wd-getready{background:#233850;border-color:#5b7188;color:#e8eef4}
/* the dark boxes used to INHERIT the sheet's light ink for their inner
   text (gr title, ≈ dwell rows) — with the sheet ink dark, they must
   carry their own light ink or go dark-on-dark */
.wd-card,.wd-card .wd-dialrow b{color:#f0ebe1}
/* drive-time leg pill was pale-blue-on-navy; white-on-sky pops harder */
.wd-legpill{background:#fff}
.wd-needhome{background:rgba(233,152,33,.12)}
.wd-needhome .wd-nh-t{color:#8a5406}
.wd-needhome .wd-nh-s{color:#44576b}
/* sticky CTA bar rides the same light ground; shadow goes soft blue */
#wd-cta{background:#e3eef8;box-shadow:0 -12px 20px -10px rgba(44,69,94,.28)}
.wd-cta-sub,.wd-cta-cap{color:#54687c}
.wd-cta-done{color:#1e7a43}
.wd-cta-edit{color:#b06f10}
.wd-goto.secondary{color:#b06f10;background:#fff}
.wd-cta-row3 .wd-cta-done{border-color:rgba(28,43,58,.3);color:#1e7a43}
.wd-cta-row3 .wd-cta-done small{color:#8a5406}

/* ═══ ⭐ ANCHOR DAY / Perfect Day (Greg GO 8/14, artifact de220fa3) —
   rides the wd- sheet dress wholesale; only its own bits live here.
   ⚠ prose divs opt out of the main.css div-col-flex + font-clamp traps
   (display:block + inline children inherit) like every wd- prose row. ═══ */
.ad-anchor{text-align:center}
.ad-anchor b{font-size:.98rem}
.ad-ameta{display:block !important;font-size:.76rem;color:#8a5406;font-weight:700;margin-top:2px}
.ad-ameta span,.ad-arrive span,.ad-arrive b{display:inline !important;font-size:inherit !important}
.ad-arrive{display:block !important;margin-top:7px;font-size:.88rem;font-weight:800}
.ad-bookrow{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.ad-bookbtn{background:#fff;border:1.5px solid #e99821;border-radius:11px;padding:5px 12px;
  font-weight:800;font-size:.78rem;color:#8a5406;cursor:pointer;text-decoration:none}
.ad-dial{display:inline-block;border:1.4px solid #7ea9d4;border-radius:50%;width:20px;height:20px;
  text-align:center;line-height:18px;font-weight:900;cursor:pointer;color:#cfe3ff}
.ad-stop .wd-gr-r1 b{font-size:.82rem;color:#f0c574;font-variant-numeric:tabular-nums;white-space:nowrap}
.ad-stop .wd-gr-sub2{color:#9fb1c1}
/* the ⊕ menu row: emoji star sits where the icon img usually does */
.ad-menu-star{font-size:1.02rem;line-height:1}
.action-item.ad-perfect .caption{white-space:normal}
/* ⭐ AD start-from offer (Greg 8/14: "offer adding the home/start location
   into the day... if its hours away") — day-only start picker */
.ad-startbox{background:#fff;border:1.6px dashed #e99821;border-radius:13px;padding:10px 12px;margin-bottom:8px}
.ad-startq{display:block !important;font-size:.84rem;font-weight:700;color:#4a3208}
.ad-startq b{display:inline !important;font-size:inherit !important;color:#b3261e}
.ad-startchips{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:6px;margin:8px 0}
.ad-schip{background:#fff;border:1.5px solid #e99821;border-radius:14px;padding:5px 12px;
  font-weight:800;font-size:.78rem;color:#8a5406;cursor:pointer}
.ad-startbox .wd-pl-input{border-color:#e0d5c2;background:#fff}
.ad-cands .wd-cand{background:#fff;border:1px solid #eadfc2;border-radius:9px;padding:7px 10px;margin-top:5px;cursor:pointer}
.ad-cands .wd-cand b{display:block;color:#232c38;font-size:.86rem}
.ad-cands .wd-cand span{color:#6a6350;font-size:.76rem}
.ad-startedit{color:#8fb0d6;font-weight:800;cursor:pointer}
/* ⭐ back-to-Perfect-Day pill (8/14, mirrors #wd-cardx return pill) */
#ad-backpill{position:fixed;left:50%;transform:translateX(-50%);bottom:64px;z-index:2000005;
  background:#20303f;color:#ffd98c;border:1.6px solid #e99821;border-radius:22px;
  padding:9px 20px;font-weight:800;font-size:.88rem;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.35);white-space:nowrap}
/* ⭐ AD r2 (Greg GO 8/14): dial · add-a-stop · yellow-box bits · 🚦 paywall */
.ad-dialrow{display:flex;flex-direction:row !important;flex-wrap:wrap;gap:6px;margin:0 2px 10px}
.ad-schip.on{background:#e99821;border-color:#e99821;color:#fff}
.ad-schip.dis{opacity:.45;border-color:#c9bfa8;color:#9a8f74}
.ad-addstop{display:block;text-align:center;border:1.5px dashed #e99821;color:#8a5406;background:rgba(255,255,255,.55);
  border-radius:12px;padding:9px;font-size:.8rem;font-weight:800;margin:8px 0 6px;cursor:pointer}
.ad-addclose{text-align:center;color:#9a8f74;font-size:.76rem;font-weight:700;margin-top:7px;cursor:pointer}
.ad-yd{display:block !important;font-size:.72rem;color:#8a5406;font-weight:800;text-align:center;margin-top:1px}
.ad-yedits{display:block !important;margin-top:8px;padding-top:8px;border-top:1px solid rgba(35,44,56,.12);
  text-align:center;font-size:.82rem;font-weight:800;color:#232c38}
.ad-yedits span{display:inline !important;font-size:inherit !important}
.ad-ystart{color:#8a5510;border-bottom:2px dotted #e99821;cursor:pointer}
.ad-payline{text-align:center;font-size:.8rem;font-weight:800;color:#2c5f9e;background:#fff;border:1.5px solid #7ea9d4;
  border-radius:12px;padding:8px 10px;margin:10px 2px 0;cursor:pointer}
/* 🚦 shared paywall stub — first dress of the $1.99 premium surface */
#paywall-overlay{position:fixed;inset:0;z-index:2100000;background:rgba(10,14,20,.72);
  display:flex;flex-direction:column !important;justify-content:center;align-items:center;padding:18px}
#paywall-overlay .pw-box{background:#20303f;border:1px solid rgba(255,255,255,.18);border-radius:18px;
  padding:20px 18px;width:100%;max-width:400px;color:#eef2f6}
#paywall-overlay .pw-h{font-weight:800;font-size:1.15rem;text-align:center}
#paywall-overlay .pw-price{text-align:center;font-weight:900;font-size:1.7rem;color:#ffd98c;margin:6px 0 12px}
#paywall-overlay .pw-price span{display:inline !important;font-size:.78rem !important;font-weight:700;color:#9fb0bd;margin-left:6px}
#paywall-overlay .pw-li{display:block !important;font-size:.86rem;color:#cfd8e0;padding:6px 2px;line-height:1.45}
#paywall-overlay .pw-li b{display:inline !important;font-size:inherit !important;color:#fff}
#paywall-overlay .pw-cta{background:linear-gradient(90deg,#eda63a,#e99821);color:#fff;border-radius:13px;
  text-align:center;font-weight:800;font-size:.95rem;padding:13px;margin-top:12px;cursor:pointer;
  box-shadow:0 2px 8px rgba(233,152,33,.4)}
#paywall-overlay .pw-cta.pw-off{background:transparent;border:1.5px solid #7ea9d4;color:#9fc3e8;box-shadow:none}
#paywall-overlay .pw-note{display:block !important;text-align:center;font-size:.7rem;color:#8496a5;margin-top:8px}
#paywall-overlay .pw-close{text-align:center;color:#9fb0bd;font-size:.84rem;font-weight:700;padding:12px 0 2px;cursor:pointer}
/* 🚦 premium ON state: quiet manage door (downgrade lives on the paywall) */
.ad-payline.on{border-color:#2d8f4e;color:#1e7a43;background:#f1faf4}
/* Alternatives ▾ deep list (Greg 8/14: up to 30 relevant) — scrolls */
.ad-stop .wd-swaplist{max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}
/* C4 hours-honesty flag (Greg: flag, never stop — 67% of hours are AI
   estimates, so silence on unknown, amber only on KNOWN conflicts) */
.ad-hourswarn{color:#e9b421;font-weight:800;font-size:.7rem;white-space:nowrap}
/* ⭐ v1.1 (Greg GO 8/14): after-chain · kind row · anchor box · dials */
.ad-dlbl{flex:0 0 100%;font-size:.64rem;font-weight:900;letter-spacing:.5px;color:#54687c;text-transform:uppercase}
.ad-kindrow{display:flex;flex-direction:row !important;gap:6px;margin-top:6px}
.ad-kchip{border:1.2px solid #4a90c2;background:#233850;border-radius:11px;padding:2px 10px;font-size:.8rem;cursor:pointer}
.ad-kchip.on{background:#e99821;border-color:#e99821}
.ad-anchorbox{border-color:#f1c40f !important;border-width:2px !important}
.ad-endline{text-align:center;font-size:.78rem;font-weight:800;color:#54687c;margin-top:8px}
/* 📐 collapse-above-stop-1 (Greg 8/14 eve): ▼ closed / ▲ open, right side */
.ad-anchor,.ad-dialwrap,.wd-getready{position:relative}
.ad-scaret{position:absolute;top:8px;right:10px;color:#8a5406;font-weight:900;font-size:.9rem;cursor:pointer;padding:0 4px;z-index:2}
.ad-scaret.gr{color:#8fb0d6}
.ad-dialwrap{padding-right:6px}
.ad-anchor{padding-right:30px}
.ad-dialwrap .ad-scaret{top:0}
/* 📐 r3 (Greg): Before|After as two side-by-side dropdown columns */
.ad-dialcols{display:flex;flex-direction:row !important;gap:8px;margin:0 2px 10px;align-items:flex-start}
.ad-dcol{flex:1;min-width:0;background:#fff;border:1.5px solid #e0d5c2;border-radius:12px;overflow:hidden}
.ad-dhead{display:block !important;padding:7px 10px;font-weight:800;font-size:.78rem;color:#1c2b3a;cursor:pointer;position:relative;padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-dhead .ad-dlbl{display:block !important;font-size:.6rem;font-weight:900;letter-spacing:.5px;color:#8a5406;text-transform:uppercase}
.ad-dcaret{position:absolute;top:8px;right:8px;color:#8a5406;font-weight:900;font-size:.8rem}
.ad-dopt{padding:8px 10px;border-top:1px solid #f0e8d8;font-weight:700;font-size:.78rem;color:#4a3208;cursor:pointer}
.ad-dopt.on{background:#e99821;color:#fff}
.ad-dopt.dis{opacity:.45}

/* 🤝 Perfect Day crew row (8/15): the live green coplanner band on the
   planner sheet + card slots; mini cluster on the collapsed TT strip */
.ad-crewhost { margin: 10px 4px 4px; }
.ad-crewhost .cr20t-cohost { background: #fff; border-radius: 11px; }
.ad-crewslot { margin-top: 8px; }
.wd-tts-crewmini { font-weight: 700; color: #2c5f2d; margin-left: 4px; }
/* 🗑 delete door (8/15): quiet line under the committed sheet */
.ad-delline { text-align: center; color: #a04545; font-size: 12.5px; font-weight: 700; padding: 7px 0 2px; cursor: pointer; }
