

/* ==================================================================
   6. Module: Managing Worries (theme: orange)
   ================================================================== */

@media (prefers-reduced-motion:reduce){
[data-module="mw"] *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
/* the breathing orb is a pacer, not decoration - motion is essential here */
@media (prefers-reduced-motion:reduce){
[data-module="mw"] .orb{transition-duration:4s!important}
[data-module="mw"] .orb.hold{transition-duration:1s!important}
[data-module="mw"] .orb.exhale{transition-duration:6s!important}
}
body[data-module="mw"]{color:var(--text);
  background:var(--bg);
  display:flex;align-items:center;padding:var(--space-4)}
[data-module="mw"] .shell{width:100%;max-width:430px;height:min(92dvh,880px);max-height:100%;background:var(--surface);
  border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}
@media (max-width:520px){
body[data-module="mw"]{padding:0;align-items:stretch}
/* MW-SHELL-V1 — MW-SHELL-V1:start Amended 14 Aug 2026, SHELL-MERGE-V2-NOTE: the declarations this block shared byte-for-byte with… Full note in the session log, 15 Aug 2026. */
[data-module="mw"] .shell{height:100dvh;min-height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none;max-width:none;overflow:hidden}
[data-module="mw"] header{position:static;top:auto;z-index:20;}
[data-module="mw"] main{flex:1 1 auto;overflow-y:auto;}
/* MW-SHELL-V1:end */
}
[data-module="mw"] header{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--divider);background:var(--surface-2)}
[data-module="mw"] .module{color:var(--muted);letter-spacing:.08em}
[data-module="mw"] .track{background:var(--surface-offset);}
[data-module="mw"] .fill{width:0;background:linear-gradient(90deg,var(--primary-soft),var(--primary));}
[data-module="mw"] main{flex:1;padding:var(--space-5);gap:var(--space-4);overflow-y:auto}
[data-module="mw"] .kicker{color:var(--primary);margin-bottom:2px;}
[data-module="mw"] .body{color:var(--muted)}
[data-module="mw"] .card{background:var(--surface-2);box-shadow:var(--shadow-sm)}
[data-module="mw"] .qlab{font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}
[data-module="mw"] input[type=text],[data-module="mw"] textarea{width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--text);
  background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-sm);
  padding:10px 12px;resize:none}
[data-module="mw"] .chips{display:flex;flex-wrap:wrap;gap:6px}
[data-module="mw"] .chip{font-family:inherit;font-size:var(--text-xs);padding:7px 10px;border-radius:var(--radius-full);
  background:var(--surface);border:1px solid var(--primary-soft);color:var(--text);cursor:pointer;transition:all var(--ease)}
[data-module="mw"] .chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
[data-module="mw"] .chip.emoji{font-size:1.35rem;line-height:1;padding:8px 11px}
[data-module="mw"] .addbtn{font-family:inherit;font-size:var(--text-sm);padding:12px;width:100%;border-radius:var(--radius-md);
  border:1px dashed var(--primary-soft);background:var(--primary-tint);color:var(--on-tint);cursor:pointer;font-weight:500}
[data-module="mw"] .addbtn:disabled{border:1px solid var(--divider);background:var(--surface-offset);color:var(--faint);cursor:default;font-weight:400}
[data-module="mw"] .wlist{display:flex;flex-direction:column;gap:var(--space-2)}
[data-module="mw"] .witem{background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--radius-md);
  padding:var(--space-3);display:flex;gap:var(--space-2);align-items:flex-start}
[data-module="mw"] .wtext{flex:1;font-size:var(--text-sm)}
[data-module="mw"] .wmeta{display:block;font-size:var(--text-xs);color:var(--faint);margin-top:3px}
[data-module="mw"] .witem button{background:none;border:none;color:var(--faint);font-size:1.1rem;cursor:pointer;line-height:1;padding:2px 4px}
[data-module="mw"] .empty{color:var(--faint);padding:var(--space-4)}
[data-module="mw"] .accent{color:var(--primary);font-weight:500}
[data-module="mw"] .counter{font-size:var(--text-xs);color:var(--faint);text-align:center}
[data-module="mw"] .timerow{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
[data-module="mw"] .timesel{font-family:inherit;font-size:var(--text-xs);padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--primary-soft);background:var(--surface);color:var(--primary);cursor:pointer;appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center;min-width:62px}
/* MW-TIMESEL-V1, 27 Aug 2026. Chrome paints the dropped-open list from the
   select's own background, and the pointer sits on the pill while the list is
   open, so tinting the pill tinted the whole list with it. Each row takes the
   plain surface instead. The pill keeps its tint; the row under the pointer
   inside the list keeps the browser's own highlight. */
[data-module="mw"] .timesel option{text-align:center;background:var(--surface);color:var(--primary)}
[data-module="mw"] .psnum.sub{margin-top:var(--space-2)}
[data-module="mw"] .qhint{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;font-style:italic;color:var(--faint);letter-spacing:0;text-transform:none;white-space:nowrap}
[data-module="mw"] .todash{font-size:var(--text-sm);color:var(--muted)}
[data-module="mw"] .timewarn:not(.ok){color:var(--faint)}/* MW-WTIME-CSS-V1: helper text, not body copy */
[data-module="mw"] .timewarn{font-size:var(--text-xs);font-style:italic}
[data-module="mw"] .timewarn.ok{color:var(--primary)}
[data-module="mw"] .breathstage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-2) 0;min-height:210px}
[data-module="mw"] .orbwrap{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer}
[data-module="mw"] .orb{position:absolute;inset:0;margin:auto;width:120px;height:120px;border-radius:var(--radius-full);border:none;
 background:radial-gradient(circle at 35% 30%, rgba(224,120,47,.48), rgba(224,120,47,.20) 60%, rgba(224,120,47,.10) 100%);
 transform:scale(1);transition:transform 4s cubic-bezier(.4,0,.4,1),opacity 4s ease}
[data-module="mw"] .orb.inhale{transform:scale(1.5);opacity:1}
[data-module="mw"] .orb.hold{transform:scale(1.5);transition:transform 1s linear}
[data-module="mw"] .orb.exhale{transform:scale(1);opacity:.85;transition:transform 6s cubic-bezier(.4,0,.4,1),opacity 6s ease}
[data-module="mw"] .orbcount{position:relative;z-index:1;font-size:12px;color:var(--on-primary);font-weight:400;font-variant-numeric:tabular-nums}
[data-module="mw"] .breathcue{font-family:inherit;font-size:12px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;
  background:none;border:0;padding:6px 10px;cursor:pointer;min-height:32px;touch-action:manipulation}
[data-module="mw"] .breathcue.inert{cursor:default;pointer-events:none}
[data-module="mw"] .breathdone{margin-top:var(--space-2)}
[data-module="mw"] .slider{-webkit-appearance:none;appearance:none;width:100%;height:32px;margin-top:var(--space-2);
  background:transparent;display:block;touch-action:pan-y}
[data-module="mw"] .slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;
  background:linear-gradient(to right,var(--primary) var(--pct),var(--surface-offset) var(--pct))}
[data-module="mw"] .slider::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-offset)}
[data-module="mw"] .slider::-moz-range-progress{height:6px;border-radius:3px;background:var(--primary)}
[data-module="mw"] .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;
  border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-md);cursor:grab}
[data-module="mw"] .slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--surface);
  border:2px solid var(--primary);box-shadow:var(--shadow-md);cursor:grab}
[data-module="mw"] .scaleends{display:flex;justify-content:space-between;margin-top:2px;font-size:var(--text-xs);color:var(--faint)}
[data-module="mw"] .wtclock{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--primary);font-weight:500;
  padding:4px 12px;border-radius:var(--radius-full);background:var(--primary-tint);white-space:nowrap}
[data-module="mw"] .wtclock.over{color:#a3452b}
[data-module="mw"] .titlerow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
[data-module="mw"] .titlerow .title{margin:0}
[data-module="mw"] .minirow{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:1.35;color:var(--primary)}
/* .bucketrow, .bucket, .buckethead, .bucketlist and .bline removed - never rendered. */
[data-module="mw"] .fcard{
  background:var(--surface);border:1px solid var(--divider);
  padding:var(--space-5);box-shadow:var(--shadow-md);
  justify-content:center;}
[data-module="mw"] .fcard .txt{font-size:1.35rem;}
[data-module="mw"] .fcard .sub{font-size:var(--text-xs);color:var(--muted);line-height:1.5}
/* STAMP-OUT-V1 (mw): stamp colours deleted with the stamps. */
/* CHEVRON-AIM-V1 (mw): rest hoisted to core. */
/* CHEVRON-AIM-V1 (mw): aim hoisted to core. */
[data-module="mw"] .tapzone{background:transparent;}
[data-module="mw"] .stackcard{box-shadow:var(--shadow-sm)}
[data-module="mw"] .deckbtns.gone{visibility:hidden;pointer-events:none;height:0;margin:0;overflow:hidden}
[data-module="mw"] .deckbtns button{font-family:inherit;
  border:1px solid var(--divider);background:var(--surface);cursor:pointer;}
[data-module="mw"] .deckbtns .yes{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
[data-module="mw"] .deckbtns .no{color:var(--text)}
[data-module="mw"] .tray{margin-top:var(--space-3);padding-top:var(--space-2)}
[data-module="mw"] .traylabel{color:var(--primary);}
[data-module="mw"] .trayhelp{color:var(--faint);}
[data-module="mw"] .traylist{margin-top:var(--space-2)}
[data-module="mw"] .trayitem{
  background:var(--primary-tint);}
[data-module="mw"] .trayitem button{background:none;border:none;color:var(--faint);font-size:var(--text-sm);cursor:pointer;}
[data-module="mw"] .sliderrow{display:flex;align-items:center;gap:var(--space-2)}
[data-module="mw"] .minslider{flex:1}
[data-module="mw"] .minval{font-size:var(--text-xs);color:var(--primary);font-weight:500;min-width:46px;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
[data-module="mw"] .addcomposer{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
[data-module="mw"] .addcomposer input{flex:1;min-width:180px;font-size:var(--text-xs)}
[data-module="mw"] .mini{font-family:inherit;font-size:var(--text-xs);padding:7px 12px;border-radius:var(--radius-full);border:1px solid var(--primary-soft);background:var(--primary-tint);color:var(--on-tint);cursor:pointer}
[data-module="mw"] .mini.ghost{}
[data-module="mw"] .addpill{min-width:30px;padding:7px 8px;justify-content:center}
[data-module="mw"] .psblock{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-sm);flex:none;overflow:visible}
[data-module="mw"] .pshead{padding:12px 14px;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;gap:var(--space-2);align-items:flex-start;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit}
[data-module="mw"] .pshead .pt{flex:1;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:1.35;color:var(--primary)}
[data-module="mw"] .pshead .chev{width:11px;height:11px;flex:none;color:var(--faint);margin-top:4px;transition:transform var(--ease)}
[data-module="mw"] .pstick{width:12px;height:12px;color:var(--primary);flex:none;vertical-align:-1px}
[data-module="mw"] .psbody{padding:0 14px 14px;display:flex;flex-direction:column;gap:var(--space-4)}
[data-module="mw"] .psstep,[data-module="mw"] .ideas,[data-module="mw"] .chips{flex:none}
[data-module="mw"] main>*{flex-shrink:0}
[data-module="mw"] .psstep{display:flex;flex-direction:column;gap:var(--space-2)}
[data-module="mw"] .psnum{font-size:var(--text-sm);font-weight:500;color:var(--text);letter-spacing:normal;text-transform:none}
[data-module="mw"] .ideas{display:flex;flex-wrap:wrap;gap:6px}
[data-module="mw"] .idea{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 10px;border-radius:var(--radius-full);border:1px solid var(--primary-soft);background:var(--surface);font-size:var(--text-xs);cursor:pointer;font-family:inherit;text-align:left;width:auto;transition:all var(--ease);color:var(--text);white-space:nowrap}
[data-module="mw"] .idea.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
[data-module="mw"] nav{padding:var(--space-4) var(--space-5);border-top:1px solid var(--divider);background:var(--surface-2)}
[data-module="mw"] nav button{font-family:inherit;
  cursor:pointer;border:1px solid transparent;touch-action:manipulation;
  }
[data-module="mw"] .back{background:var(--surface);color:var(--muted)}
[data-module="mw"] .back:disabled{display:none}
[data-module="mw"] .next{flex:1;background:var(--primary);color:var(--on-primary)}
@media (hover:hover){
[data-module="mw"] .next:hover:not(.gated){background:var(--primary-dark)}
}
[data-module="mw"] .next.gated{visibility:hidden;pointer-events:none}

[data-module="mw"] .next.closing{background:var(--primary-dark)}
@media (hover:hover){
[data-module="mw"] .next.closing:hover{background:var(--primary-dark)}
}
[data-module="mw"] .closestage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:var(--space-8) var(--space-5);min-height:60dvh}
[data-module="mw"] .closeverse{max-width:22ch;line-height:1.35;
  margin:var(--space-5) 0 var(--space-6)}/* MW-WTIME-CSS-V1: face, size and weight come from .title */
[data-module="mw"] .closelead{color:var(--muted)}
[data-module="mw"] .closecard{text-align:left;width:100%}
[data-module="mw"] footer{padding:var(--space-3) var(--space-5) var(--space-5);color:var(--faint);background:var(--surface-2)}
[data-module="mw"] .scrim{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity var(--ease);z-index:60}
[data-module="mw"] .scrim.open{opacity:1;pointer-events:auto}
[data-module="mw"] .sheet{width:100%;max-width:430px;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);max-height:86dvh;overflow-y:auto;
  transform:translateY(14px);transition:transform var(--ease)}
[data-module="mw"] .scrim.open .sheet{transform:none}
[data-module="mw"] .sheettitle{font-family:var(--font-display);font-size:var(--text-lg)}
[data-module="mw"] .sheetbtns{display:flex;gap:var(--space-3);margin-top:var(--space-2)}
[data-module="mw"] .sheetbtns button{flex:1;font-family:inherit;font-size:var(--text-sm);font-weight:500;padding:12px;border-radius:var(--radius-full);cursor:pointer;border:1px solid transparent}
[data-module="mw"] .sheetbtns .cancel{border:1px solid var(--border);background:var(--surface);color:var(--text)}[data-module="mw"] .closecard .capturelink{font:inherit;font-weight:500;color:var(--primary);background:none;border:0;padding:0;-webkit-appearance:none;appearance:none;cursor:pointer}[data-module="mw"] .witem button svg{display:block}
[data-module="mw"] .save{background:var(--primary);color:var(--on-primary)}
[data-module="mw"] .homelink{color:inherit}
/* --- Ligatures: Instrument Serif liga/clig — added 31 Jul 2026 --- */
[data-module="mw"] .sheettitle,[data-module="mw"] .sheet h3{font-variant-ligatures:common-ligatures contextual;font-feature-settings:"liga" 1,"clig" 1;font-kerning:normal}
/* --- Object outlines unified on --border; separators stay --divider --- */
[data-module="mw"] .fcard{border-color:var(--border)}
[data-module="mw"] .deckbtns button{border-color:var(--border)}
[data-module="mw"] .back{border-color:var(--border)}
[data-module="mw"] .witem{border-color:var(--border)}
[data-module="mw"] input[type=text],[data-module="mw"] textarea{border-color:var(--border)}
/* --- minslider parity with the step-6 slider / BA --- */
[data-module="mw"] .minslider{-webkit-appearance:none;appearance:none;height:32px;background:transparent;outline:none;border-radius:0}
[data-module="mw"] .minslider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary) var(--pct,0%),var(--surface-offset) var(--pct,0%))}
[data-module="mw"] .minslider::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-offset)}
[data-module="mw"] .minslider::-moz-range-progress{height:6px;border-radius:3px;background:var(--primary)}
[data-module="mw"] .minslider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-md);cursor:grab}
[data-module="mw"] .minslider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-md);cursor:grab}
/* focused text fields: border shifts to the accent, no glow, no ring */
[data-module="mw"] input:focus,[data-module="mw"] textarea:focus,[data-module="mw"] select:focus{outline:none;box-shadow:none;border-color:var(--primary)}
/* ===== Desktop layer =====================================================. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] .flinks a{color:var(--muted);}
[data-module="mw"] .flinks a:hover{color:var(--text);border-bottom-color:var(--divider)}
[data-module="mw"] .fine{color:var(--faint);}
@media (min-width:768px){
[data-module="mw"] .scrim{align-items:center}
[data-module="mw"] .sheet{max-width:520px;border-radius:var(--radius-lg);transform:translateY(10px) scale(.99)}
[data-module="mw"] .scrim.open .sheet{transform:none}
}
@media (min-width:521px){
body[data-module="mw"]{display:block;padding:0;align-items:stretch;background:var(--surface-2)}
[data-module="mw"] .shell{width:auto;max-width:none;height:auto;min-height:100dvh;border-radius:0;
    box-shadow:none;background:var(--surface-2);overflow:visible;display:flex;flex-direction:column}
/* Header keeps the phone's box model exactly, so its height does not jump
     across the breakpoint. Only the container width changes. */
[data-module="mw"] header{position:sticky;top:0;z-index:30;background:var(--surface-2);
    border-bottom:1px solid var(--divider);padding:var(--space-4) 0 var(--space-3)}
[data-module="mw"] .steplabel{margin-left:auto;color:var(--faint);
    }
[data-module="mw"] main{gap:var(--space-5);
    background:var(--surface);padding:38px max(40px,calc((100% - 1000px) / 2)) 34px;overflow:visible;/* SHELL-OVERFLOW-FIX-V2 */}
/* Rows sit at the top instead of stretching to fill, so nothing drifts
     upward as content is added. Keeps the heading-to-intro gap constant. */
[data-module="mw"] nav{background:transparent;
    padding:var(--space-4) max(40px,calc((100% - 1000px) / 2));
    border-top:1px solid var(--divider)}
[data-module="mw"] .next{flex:0 0 auto;}
[data-module="mw"] footer{background:transparent;display:block!important;
    padding:var(--space-3) max(40px,calc((100% - 1000px) / 2)) var(--space-5)}
[data-module="mw"] .breathstage{min-height:300px}
/* Sort: deck in the middle, out of hands left, can be solved right */
@media (min-width:960px){
[data-module="mw"] main[data-screen="sort"]{display:grid;column-gap:32px;align-items:start;
      grid-template-columns:minmax(0,1fr) minmax(0,420px) minmax(0,1fr);
    /* DECKROW-V1: the card row is definite so the list cannot inflate it.
     Reported 11 Aug 2026: on desktop the two deck buttons sank as the sorted
     list grew. card row 3 of 4; two .tray span rows 3-4 in columns 1 and 3, and both tracks were
     auto-sized, so the spanning list distributed its height into the card row
     as well as the buttons row. .fcard is position:absolute;inset:0 and adds
     nothing to .deckwrap, so the card held its own height while the track grew
     beneath it — an empty gap, widening with every sorted item.
     A definite track refuses distributed space, so the overflow now lands in
     the buttons row, below them. Card position and card-to-buttons distance are
     both fixed. --card-h is stated once here and read by .deckwrap below, so
     the track and the card cannot drift apart.
     --card-drop MIRRORS the margin-top in MW-ALIGN-V1 4b, which owns that
     declaration through a later rule with the same selector. If one changes,
     change both.
     Values Card Sort is not part of this pass: its grid leaves .pips and one
     pile auto-placed, so explicit tracks there need the child indices fixed
     first. */
    --card-h:200px;--card-drop:calc(var(--text-xs) * 1.6 + var(--space-2));
    grid-template-rows:auto auto calc(var(--card-h) + var(--card-drop)) auto}
[data-module="mw"] main[data-screen="sort"]>.title,[data-module="mw"] main[data-screen="sort"]>.body{grid-column:1 / -1}
[data-module="mw"] main[data-screen="sort"]>.deckwrap{grid-column:2;grid-row:3;min-height:var(--card-h)}
[data-module="mw"] main[data-screen="sort"]>.deckbtns{grid-column:2;grid-row:4}
[data-module="mw"] main[data-screen="sort"]>.tray{margin-top:0;border-top:none;padding-top:0;grid-row:3 / span 2}
[data-module="mw"] main[data-screen="sort"]>.tray:nth-child(6){grid-column:1}
[data-module="mw"] main[data-screen="sort"]>.tray:nth-child(5){grid-column:3}
[data-module="mw"] main[data-screen="sort"]>.empty{grid-column:1 / -1}
}
}
/* Reduced motion, orb exemption included, is declared at the top of this
   stylesheet. The duplicate that sat here has been removed. */
/* ===== Step reflows. Only above 960, where three columns actually fit. ===== */
@media (min-width:960px){
/* Capture: compose on the left, what you have written on the right */
[data-module="mw"] main[data-screen="capture"]{display:grid;column-gap:40px;align-items:start;
    grid-template-columns:minmax(0,340px) minmax(0,1fr)}
[data-module="mw"] main[data-screen="capture"]>.title,[data-module="mw"] main[data-screen="capture"]>.body{grid-column:1 / -1}
[data-module="mw"] main[data-screen="capture"]>.addbtn{grid-column:1;grid-row:3}
[data-module="mw"] main[data-screen="capture"]>.wlist,[data-module="mw"] main[data-screen="capture"]>.empty{grid-column:2;grid-row:3}
/* Solve: what, who and where side by side inside an open block */
[data-module="mw"] main[data-screen="solve"] .psbody{display:grid;align-items:start;
    grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:var(--space-4)}
/* Worry time set-up and the worry time questions: two columns */
[data-module="mw"] main[data-screen="wtset"] .psbody,[data-module="mw"] main[data-screen="wtime"] .psbody{display:grid;align-items:start;
    grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:var(--space-4)}
[data-module="mw"] main[data-screen="wtset"]>.traylist{display:grid;gap:var(--space-2);
    grid-template-columns:repeat(2,minmax(0,1fr))}
/* Breathing and the closing screen stay centred and narrow */
[data-module="mw"] main[data-screen="breathe"]>*,[data-module="mw"] main[data-screen="close"]>*{width:100%;max-width:660px;margin-left:auto;margin-right:auto}
[data-module="mw"] main[data-screen="breathe"]>.title,[data-module="mw"] main[data-screen="breathe"]>.body{text-align:center}
/* Closing screen: its own padding is redundant once main supplies it.
     The height floors are declared at every width, at the end of the file. */
[data-module="mw"] main[data-screen="close"] .closestage{padding:0}
/* Welcome: one centred column, text still left-aligned inside it */
/* Title and card stay at 660; the three blocks sit in a single 410px. Full note in the session log, 15 Aug 2026. */
/* Worry time: heading centred across the row, clock held to the right */
[data-module="mw"] main[data-screen="wtime"] .titlerow{position:relative;justify-content:center}
[data-module="mw"] main[data-screen="wtime"] .titlerow .title{flex:1;text-align:center;margin:0}
[data-module="mw"] main[data-screen="wtime"] .titlerow .wtclock{position:absolute;right:0;top:50%;transform:translateY(-50%)}
/* Full-width steps: heading and intro centred over the content below */
[data-module="mw"] main[data-screen="capture"]>.title,[data-module="mw"] main[data-screen="capture"]>.body,[data-module="mw"] main[data-screen="sort"]>.title,[data-module="mw"] main[data-screen="sort"]>.body,[data-module="mw"] main[data-screen="solve"]>.title,[data-module="mw"] main[data-screen="solve"]>.body,[data-module="mw"] main[data-screen="wtset"]>.title,[data-module="mw"] main[data-screen="wtset"]>.body,[data-module="mw"] main[data-screen="wtime"]>.title,[data-module="mw"] main[data-screen="wtime"]>.body{text-align:center;margin-left:auto;margin-right:auto}
}
/* ===== Every width =======================================================. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] main[data-screen="breathe"] .breathstage{min-height:0}
[data-module="mw"] main[data-screen="breathe"] .breathcue.inert:empty{display:none}
[data-module="mw"] main[data-screen="breathe"] .breathdone{margin-top:0}
[data-module="mw"] main[data-screen="close"] .closestage{min-height:0}
/* MW-ALIGN-V1. — Pathery - Managing Worries, alignment with Behavioural Activation. Full note in the session log, 15 Aug 2026. */
/* Text with no spaces in it cannot wrap and drives through its container. */
[data-module="mw"] .wtext,[data-module="mw"] .pshead .pt,[data-module="mw"] .minirow,[data-module="mw"] .idea,[data-module="mw"] .fcard .txt,[data-module="mw"] .fcard .sub{overflow-wrap:anywhere;min-width:0}
/* 3. The module label becomes a button. */
@media (hover:hover){
[data-module="mw"] .module:hover{color:var(--text)}
}
/* 4a. The sort card returns to its phone height at every desktop width. */
@media (min-width:521px){
[data-module="mw"] .deckwrap{min-height:var(--card-h)}
}
@media (min-width:960px){
/* 1. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] main[data-screen="welcome"]>*{max-width:none;width:auto;margin-left:0;margin-right:0;
    text-align:left}
[data-module="mw"] main[data-screen="welcome"]>.title{align-self:start}
[data-module="mw"] main[data-screen="welcome"]>div{grid-column:2;max-width:none}
[data-module="mw"] main[data-screen="welcome"]>div .kicker{text-align:left;margin-bottom:2px}
/* 4b. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] main[data-screen="sort"]>.deckwrap{margin-top:calc(var(--text-xs) * 1.6 + var(--space-2))}
/* 5. Solve: the intro runs the full column instead of wrapping at 66ch. */
[data-module="mw"] main[data-screen="solve"]>.body{max-width:none}
}
/* MW-ALIGN-V2 — Pathery - Managing Worries, alignment with BA, second pass. Full note in the session log, 15 Aug 2026. */
/* 1. The module is a button now, and MW has no global button reset the way
      BA does, so it was picking up the browser's own fill and border. */
[data-module="mw"] .module{background:none;border:0;padding:0;font-family:inherit;line-height:inherit;
  -webkit-appearance:none;appearance:none}
/* 2 and 3. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] nav button{padding:0 var(--space-5);font-weight:400}
[data-module="mw"] .next{box-shadow:none}
@media (min-width:960px){
/* 4. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] main[data-screen="welcome"]>div:not(.card){max-width:none}
[data-module="mw"] main[data-screen="welcome"]>div:not(.card) .kicker{text-align:left;margin-bottom:2px}
/* 5. Full note in the session log, 15 Aug 2026. */
}
/* MW-ALIGN-V3 — Pathery - Managing Worries, third pass. Full note in the session log, 15 Aug 2026. */
@media (min-width:960px){
[data-module="mw"] main[data-screen="capture"]>.addbtn{min-height:0}
}
/* MW-ALIGN-V4 — Pathery - Managing Worries, fourth pass. Full note in the session log, 15 Aug 2026. */
/* 1. Full note in the session log, 15 Aug 2026. */
[data-module="mw"] .addbtn{line-height:1.6}
/* 2. Back had no width rule in MW, so it shrank to its own word. */
[data-module="mw"] .back{flex:0 0 96px}
/* 3. Full note in the session log, 15 Aug 2026. */
/* 4. The welcome column ran 8.4px tall on the same number of lines.
      MW had no rule here, so .body inherited 1.6 from body; BA drops
      it to 1.5 after a kicker or a title. */
@media (min-width:960px){
/* Idempotent - restates BA's welcome card gap in case an earlier
     pass did not carry it. */
[data-module="mw"] main[data-screen="welcome"]>.card{margin-top:var(--space-3)}
}
/* MW-PILL-V1 — Pathery - MW plus and composer. Full note in the session log, 15 Aug 2026. */
/* The plus takes BA's treatment: dashed, weight 400, muted. */
[data-module="mw"] .idea.addpill{font-weight:400;border-style:dashed;
  background:var(--surface);color:var(--muted)}
/* Cancel goes. The plus already toggles the composer shut in the
   script, so the button was a second way to do one thing. */
[data-module="mw"] .mini.ghost{display:none}
/* Cross on a selected custom pill. .idea .rm already exists in the
   stylesheet but is never rendered; this hides it until selected.
   Inert until the script renders one. */
[data-module="mw"] .idea .rm{margin-left:2px;background:none;border:0;color:inherit;opacity:1;
  cursor:pointer;font-size:var(--text-sm);line-height:1;padding:0;display:none;position:relative}
[data-module="mw"] .idea.on .rm{display:inline}

/* PATHERY-TOUCH-V1-MW — Pathery — gesture policy, Managing Worries. Full note in the session log, 15 Aug 2026. */

/* -MW — Pathery — nav overlay suppression, Managing Worries. Full note in the session log, 15 Aug 2026. */

/* PATHERY-TAPHL-V1-MW — Pathery — tap highlight, Managing Worries. Full note in the session log, 15 Aug 2026. */
body[data-module="mw"]{-webkit-tap-highlight-color:transparent}

/* MW-WELCOME-V10:start */
/* MW-WELCOME-V10 — Pathery - MW welcome v10, aligned with BA-WELCOME-V10. Full note in the session log, 15 Aug 2026. */


/* MW-LEAD-V1: the lead line is plain text at --muted now, and the focus item
   on the meta line opens the loop panel. Orange has no --primary-hover, so the
   darker shade is used, the one .cbt takes. The item matches the CBT badge at
   weight 500, with an 11px chevron and the same finger-sized hit area. Its icon
   and chevron inherit the colour, which also overrides the rule above that pins
   meta icons to --faint, so label, icon and chevron move together. */
[data-module="mw"] .wlead{color:var(--muted);font-family:inherit;font-weight:400;cursor:auto;}
[data-module="mw"] .metaline .mitem.mtap{position:relative;color:var(--primary);
  font:inherit;font-size:var(--text-xs);font-weight:500;line-height:1;background:none;border:0;
  padding:0;cursor:pointer;transition:color var(--ease)}
[data-module="mw"] .metaline .mitem.mtap::before{content:'';position:absolute;inset:-11px -6px}
[data-module="mw"] .metaline .mitem.mtap svg{color:inherit}
[data-module="mw"] .metaline .mitem.mtap .chev{width:11px;height:11px;flex:none;
  transition:transform var(--ease)}
[data-module="mw"] .metaline .mitem.mtap[aria-expanded="true"] .chev{transform:rotate(180deg)}
@media (hover:hover){[data-module="mw"] .metaline .mitem.mtap:hover{color:var(--primary-dark)}}
[data-module="mw"] .metaline .mitem.mtap:active{color:var(--primary-dark)}
@media (prefers-reduced-motion:reduce){
[data-module="mw"] .metaline .mitem.mtap .chev{transition:none}
}
[data-module="mw"] .wrule{background:var(--divider)}
[data-module="mw"] .waction{color:var(--muted);}


[data-module="mw"] .metaline{
  color:var(--faint)}
[data-module="mw"] .metaline .mitem svg{color:var(--faint)}

[data-module="mw"] .cbt{
  
  color:var(--primary);background:none;
  }
@media (hover:hover){[data-module="mw"] .cbt:hover{color:var(--primary-dark)}}
[data-module="mw"] .cbt:active{color:var(--primary-dark)}

[data-module="mw"] .whybody{
  color:var(--faint);}
@media (prefers-reduced-motion:reduce){
  }

@media (min-width:521px){
}

@media (min-width:960px){
}

/* MW-PARITY-V1 — the hover ladder. Filled things darken, coloured edges fill with the
   tint, neutral edges take the quiet fill, and a chosen thing still responds because it can
   be unchosen. Behind a pointer check, so a phone sees none of it. */
@media (hover:hover){
/* filled with the module colour: one step darker */
[data-module="mw"] .sheetbtns .save:hover{background:var(--primary-dark)}
[data-module="mw"] .deckbtns .yes:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
[data-module="mw"] .chip.on:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
[data-module="mw"] .idea.on:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
/* coloured edge, white fill: the module tint */
[data-module="mw"] .chip:not(.on):hover{background:var(--primary-tint)}
[data-module="mw"] .idea:not(.on):hover{background:var(--primary-tint)}
[data-module="mw"] .timesel:hover{background:var(--primary-tint)}
/* already resting on the tint: deepen to the soft edge */
[data-module="mw"] .mini:hover{background:var(--primary-soft)}
[data-module="mw"] .addbtn:not(:disabled):hover{background:var(--primary-soft)}
/* neutral edge: the quiet fill */
[data-module="mw"] .back:hover{background:var(--surface-2)}
[data-module="mw"] .sheetbtns .cancel:hover{background:var(--surface-2)}
[data-module="mw"] .deckbtns button:not(.yes):hover{background:var(--surface-2)}
}

/* MW-FIX-V1 — the plus is a switch for the composer, not a choice, so it keeps the
   tint under the pointer even while the type box is open. The capture button on the closing
   screen keeps its plain words: MW-FIX-V2 undid an outlined button written here by
   mistake, which had landed on the phrase inside the sentence rather than the button. */
@media (hover:hover){
[data-module="mw"] .idea.addpill.on:hover{background:var(--primary-tint);border-color:var(--primary-soft)}
[data-module="mw"] .closecard .capturelink:hover{color:var(--primary-dark)}
}

/* MW-CROSS-V1, 26 Aug 2026. The three crosses in this module: on a chosen custom pill,
   on a sorted worry, and on a tray item. The first was white at 60 per cent on orange, 2.00 to 1
   and the weakest mark in the app; it is now full strength at 3.04, the white-on-orange exception
   already accepted. All three gain a 24-pixel invisible target, centred, so nothing visible moves
   and all three end up the same size to the thumb — padding would have given three different
   answers. A cross has no pointer state by decision: nothing about it changes on hover. */
[data-module="mw"] .witem button{position:relative}
[data-module="mw"] .trayitem button{position:relative}
[data-module="mw"] .idea .rm::before,[data-module="mw"] .witem button::before,[data-module="mw"] .trayitem button::before{content:'';position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}

/* MW-XALIGN-V1, 27 Aug 2026. The cross on a captured worry shares its row with the
   pencil. While the crosses were text characters the row lined both up on the text
   baseline; a drawn mark has no baseline, so the shorter cross rode high. It now
   centres itself in the row, like the pencil. Nothing else in the row moves. */
[data-module="mw"] .witem button{align-self:center}

/* MW-CARDS-V1, 27 Aug 2026. Steps 3, 4 and 6 mirror the Committed Actions review
   screen. The cards sit in a list of their own, so the gap between them is theirs
   and not the screen's. The chevron is a drawn mark that turns a half circle when
   a card opens, and the card edge never changes, which is how CA says open. The
   step-4 card has no header, so its body keeps a top padding; without it the first
   question would touch the card edge. Card width, the two desktop columns and the
   16-pixel card heading are all untouched. */
[data-module="mw"] .pslist{display:flex;flex-direction:column;gap:var(--space-2)}
[data-module="mw"] .psblock.open .pshead .chev{transform:rotate(180deg)}
[data-module="mw"] main[data-screen="wtset"] .psbody{padding-top:14px}
@media (hover:hover){
[data-module="mw"] .pshead:hover .chev{color:var(--muted)}
}
@media (prefers-reduced-motion:reduce){
[data-module="mw"] .pshead .chev{transition:none}
}
