/* ============================================================
   Mythox - Goal Tracker  (5.5-H · new page, 2026-06-11)
   100% token-driven (global brand.css tokens) → follows all 3 themes
   + light mode. Category accents are theme-neutral semantic hues that
   only tint borders / badges / ring strokes - never body text/surfaces.
   ============================================================ */

.gt-root, #main .gt-block { }

/* ---------------- HERO ---------------- */
.gt-hero {
  position:relative; overflow:hidden; isolation:isolate;
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  padding:30px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:
    radial-gradient(120% 140% at 92% -20%, var(--gold-soft), transparent 55%),
    linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  margin-bottom:22px;
}
.gt-hero-in { position:relative; z-index:1; flex:1; min-width:260px; }
.gt-hero h1 { font-size:clamp(26px,3.6vw,38px); margin:10px 0 8px; }
.gt-hero .sub { color:var(--muted); max-width:58ch; font-size:14.5px; }
.gt-hero-ring { position:relative; z-index:1; flex:0 0 auto; width:132px; height:132px; display:grid; place-items:center; }
.gt-hero-quote { margin:12px 0 0; font-style:italic; font-size:13px; color:var(--gold); opacity:.9; max-width:58ch; }
.gt-hero.gt-hero-compact {
  display:block;
  padding:24px clamp(18px,3vw,30px);
  margin-bottom:18px;
}
.gt-hero.gt-hero-compact .gt-hero-in { max-width:860px; min-width:0; }
.gt-hd-kicker {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0; color:var(--muted);
}
.gt-hd-kicker .dot { width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 12px var(--gold-glow); }
.gt-hd-title {
  font-family:var(--serif); font-weight:600; font-size:clamp(30px,4vw,48px); line-height:1.05;
  letter-spacing:0; margin:10px 0 10px;
}
.gt-hd-sub { color:var(--muted); font-size:15px; line-height:1.6; max-width:58ch; margin:0; }
.wm-path { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.wm-path .wm-chip {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; min-width:0; max-width:none;
  border:1px solid var(--line-2); border-left:1px solid var(--line-2); border-radius:999px;
  background:color-mix(in srgb,var(--surface-2) 78%,transparent);
  color:var(--ivory-soft); font-size:12.5px; font-weight:650; line-height:1; cursor:pointer;
  transition:border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease);
}
.wm-path .wm-chip .num { font-family:var(--mono); font-size:10px; color:var(--gold); letter-spacing:0; }
.wm-path .wm-chip:hover {
  border-color:var(--gold); background:var(--surface-2); transform:translateY(-1px);
  box-shadow:0 6px 18px -12px var(--gold-glow);
}

/* ---------------- STAT ROW ---------------- */
.gt-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:22px; }
.gt-stat { padding:18px 20px; }
.gt-stat-val { font-family:var(--serif); font-size:30px; font-weight:700; line-height:1; color:var(--gold); letter-spacing:-.02em; }
.gt-stat-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-top:8px; }
.gt-stat-sub { font-size:11px; color:var(--dim); margin-top:2px; }

/* ---------------- BLOCK + SECTION HEAD ---------------- */
.gt-block { margin-bottom:22px; }
.gt-sec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.gt-sec-head h3 { font-size:18px; margin:0; }
.gt-sec-sub { display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }
.gt-modlink { flex:0 0 auto; font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--gold); text-decoration:none; padding:6px 12px; border:1px solid var(--gold-line); border-radius:9px; background:var(--gold-soft); transition:background .15s,border-color .15s; }
.gt-modlink:hover { background:var(--surface-2); border-color:var(--gold-2); }

.gt-empty { text-align:center; padding:34px 20px; color:var(--muted); border:1px dashed var(--line-2); border-radius:var(--radius-lg); }
.gt-empty-ic { font-size:28px; opacity:.5; margin-bottom:8px; }
.gt-empty a, .gt-money-body a { color:var(--gold); }
.gt-dim { color:var(--dim); }

/* ---------------- RANKED GOALS ---------------- */
.gt-goals { display:flex; flex-direction:column; gap:10px; }
.gt-goal {
  display:flex; align-items:center; gap:16px; padding:14px 18px;
  border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  border-left:3px solid var(--cat,var(--gold)); transition:border-color .15s, transform .15s;
}
.gt-goal:hover { border-color:var(--gold-line); transform:translateY(-1px); }
.gt-goal.cat-youtube{--cat:var(--red)} .gt-goal.cat-community{--cat:var(--warn)} .gt-goal.cat-fitness{--cat:var(--green)}
.gt-goal.cat-income{--cat:var(--gold)} .gt-goal.cat-identity{--cat:#a78bfa} .gt-goal.cat-other{--cat:var(--muted)}
/* light mode: category accents are tuned for dark; darken so the badge text reads on cream */
html[data-mode="light"] .gt-goal.cat-youtube{--cat:#991b1b} html[data-mode="light"] .gt-goal.cat-community{--cat:#78350f} html[data-mode="light"] .gt-goal.cat-fitness{--cat:#166534}
html[data-mode="light"] .gt-goal.cat-identity{--cat:#6d28d9} html[data-mode="light"] .gt-goal.cat-other{--cat:#4b5563}
.gt-rank { flex:0 0 auto; width:30px; text-align:center; font-family:var(--serif); font-size:22px; font-weight:700; color:var(--dim); }
.gt-goal-ring { flex:0 0 auto; width:64px; height:64px; display:grid; place-items:center; }
.gt-goal-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.gt-goal-row1 { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gt-goal-name { font-size:15px; font-weight:700; color:var(--ivory); }
.gt-badge { font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.06em; padding:3px 8px; border-radius:6px; color:var(--cat,var(--gold)); background:color-mix(in srgb, var(--cat,var(--gold)) 14%, transparent); border:1px solid color-mix(in srgb, var(--cat,var(--gold)) 30%, transparent); }
.gt-status { font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:6px; }
.gt-status.on-track{color:var(--green); background:color-mix(in srgb,var(--green) 14%,transparent)}
.gt-status.complete{color:var(--blue); background:color-mix(in srgb,var(--blue) 14%,transparent)}
.gt-status.behind{color:var(--red); background:color-mix(in srgb,var(--red) 14%,transparent)}
.gt-status.needs-sys{color:var(--gold); background:var(--gold-soft)}
.gt-goal-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.gt-health { font-family:var(--mono); font-size:10.5px; padding:2px 7px; border-radius:5px; border:1px solid var(--line-2); }
.gt-health.good{color:var(--green)} .gt-health.ok{color:var(--gold)} .gt-health.bad{color:var(--red)}
.gt-goal-next { font-size:12.5px; color:var(--ivory); font-style:italic; }
.gt-goal-next.gt-warn { color:var(--gold); font-style:normal; }

/* ---------------- LIFE PILLARS ---------------- */
.gt-pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px; }
.gt-pillar { display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px 10px; border-radius:var(--radius-lg); border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); }
.gt-pillar-ring { width:76px; height:76px; display:grid; place-items:center; }
.gt-pillar-name { font-size:12.5px; font-weight:600; color:var(--ivory); }

/* ---------------- SYSTEMS ---------------- */
#gt-systems { padding:18px; border-radius:var(--radius-lg); border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); }

/* ---------------- MONEY ---------------- */
.gt-money { display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:22px 24px; border-radius:var(--radius-lg); border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); }
.gt-money-ring { flex:0 0 auto; width:110px; height:110px; display:grid; place-items:center; }
.gt-money-body { flex:1; min-width:200px; }
.gt-money-row { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px solid var(--line); font-size:13.5px; color:var(--muted); }
.gt-money-row b { color:var(--ivory); font-size:16px; }
.gt-money-body .gt-dim { font-size:12px; margin:10px 0 0; }

/* ---------------- ADD / EDIT - buttons (B1) ---------------- */
.gt-sec-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.gt-btn {
  font-family:var(--mono); font-size:13px; font-weight:600; letter-spacing:.01em;
  padding:9px 16px; border-radius:10px; cursor:pointer; border:1px solid var(--line-2);
  background:var(--surface-2); color:var(--ivory); transition:background .15s, border-color .15s, transform .12s;
}
.gt-btn:hover { transform:translateY(-1px); }
.gt-btn.sm { padding:6px 12px; font-size:12px; }
.gt-btn.primary { color:#fff; background:linear-gradient(180deg, var(--gold), var(--gold-2)); border-color:var(--gold-2); }
html[data-mode="light"] .gt-btn.primary { color:#1a1206; }
.gt-btn.primary:hover { filter:brightness(1.05); }
.gt-btn.ghost { background:transparent; }
.gt-btn.ghost:hover { background:var(--surface-2); border-color:var(--gold-line); }

.gt-goal-acts { flex:0 0 auto; display:flex; gap:6px; align-items:center; align-self:flex-start; }
.gt-icon-btn {
  width:30px; height:30px; display:grid; place-items:center; cursor:pointer;
  border-radius:8px; border:1px solid var(--line-2); background:var(--surface-2);
  color:var(--muted); font-size:15px; line-height:1; transition:color .15s, border-color .15s, background .15s;
}
.gt-icon-btn:hover { color:var(--gold); border-color:var(--gold-line); background:var(--gold-soft); }
.gt-icon-btn.danger:hover { color:var(--red); border-color:color-mix(in srgb, var(--red) 40%, transparent); background:color-mix(in srgb, var(--red) 12%, transparent); }

.gt-empty .gt-btn { margin-top:16px; }

/* ---------------- ADD / EDIT - modal (B1) ---------------- */
.gt-modal {
  position:fixed; inset:0; z-index:1200; display:flex; align-items:flex-start; justify-content:center;
  padding:40px 16px; overflow-y:auto;
  background:color-mix(in srgb, var(--bg, #000) 62%, transparent); backdrop-filter:blur(4px);
}
.gt-modal-card {
  width:100%; max-width:620px; margin:auto;
  border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  box-shadow:0 24px 70px rgba(0,0,0,.45); overflow:hidden;
}
.gt-modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px; border-bottom:1px solid var(--line); }
.gt-modal-head h3 { margin:0; font-size:18px; }
.gt-modal-x { width:32px; height:32px; border:none; background:transparent; color:var(--muted); font-size:24px; line-height:1; cursor:pointer; border-radius:8px; }
.gt-modal-x:hover { color:var(--ivory); background:var(--surface-2); }
.gt-modal-body { padding:22px 24px; display:flex; flex-direction:column; gap:14px; }
.gt-frow { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.gt-modal-body .field { margin:0; }
.gt-in {
  width:100%; padding:10px 12px; border-radius:9px; border:1px solid var(--line-2);
  background:var(--surface); color:var(--ivory); font-size:14px; font-family:inherit;
}
.gt-in:focus { outline:none; border-color:var(--gold-2); box-shadow:0 0 0 2px var(--gold-soft); }
textarea.gt-in { resize:vertical; min-height:64px; }
.gt-modal-foot { display:flex; justify-content:flex-end; gap:10px; padding:16px 24px 22px; border-top:1px solid var(--line); }

/* field help icon - hover (or focus) the little "i" to read what a field means */
.gt-help {
  display:inline-grid; place-items:center; width:15px; height:15px; margin-left:5px;
  border:1px solid var(--line-2); border-radius:50%; background:var(--surface-2);
  color:var(--muted); font-family:var(--serif); font-style:italic; font-weight:700; font-size:10px;
  line-height:1; vertical-align:middle; cursor:help; user-select:none;
}
.gt-help:hover, .gt-help:focus { color:var(--gold); border-color:var(--gold-line); background:var(--gold-soft); outline:none; }
/* instant help tooltip - appended to <body>, fixed-positioned, so the modal's overflow never clips it */
.gt-tip {
  position:fixed; z-index:2000; max-width:280px; padding:9px 12px;
  border-radius:10px; border:1px solid var(--gold-line); background:var(--surface-2);
  color:var(--ivory); font-size:12.5px; line-height:1.45; box-shadow:0 10px 30px rgba(0,0,0,.4);
  pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity .12s ease, transform .12s ease;
}
.gt-tip.show { opacity:1; transform:translateY(0); }

/* ---------------- WAR MAP - THE LADDER (Phase W · W1) ---------------- */
.wm-ladder-help { font-size:12.5px; color:var(--muted); margin:0 0 14px; max-width:72ch; }
.wm-ladder-drawer {
  margin:0 0 14px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  overflow:hidden;
}
.wm-ladder-drawer > summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 14px;
  align-items:center;
  padding:14px 18px;
  cursor:pointer;
  list-style:none;
  color:var(--ivory);
}
.wm-ladder-drawer > summary::-webkit-details-marker { display:none; }
.wm-ladder-drawer > summary:hover { background:var(--surface-2); }
.wm-ladder-drawer > summary span { font-family:var(--serif); font-size:17px; font-weight:600; letter-spacing:0; }
.wm-ladder-drawer > summary small { grid-column:1; color:var(--muted); font-size:12.5px; line-height:1.35; }
.wm-ladder-drawer > summary b {
  grid-column:2; grid-row:1 / span 2;
  width:24px; height:24px; display:grid; place-items:center;
  border:1px solid var(--line-2); border-radius:999px; color:var(--gold);
  font-family:var(--mono); font-size:13px; font-weight:700;
  transition:transform .2s var(--ease);
}
.wm-ladder-drawer[open] > summary b { transform:rotate(45deg); }
.wm-ladder-drawer-body { padding:0 18px 18px; }
.wm-ladder-drawer-body p { margin:0; font-size:13px; color:var(--muted); line-height:1.6; max-width:72ch; }
.wm-band {
  padding:15px 18px; margin-bottom:12px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  border-left:3px solid var(--gold);
}
.wm-band:last-child { margin-bottom:0; }
.wm-band-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; cursor:pointer; list-style:none; }
.wm-band-head::-webkit-details-marker { display:none; }
.wm-band-head::after { content:"+"; margin-left:2px; font-family:var(--mono); font-size:14px; color:var(--muted); }
.wm-band[open] > .wm-band-head::after { content:"-"; color:var(--gold); }
.wm-band:not([open]) > .wm-band-head { margin-bottom:0; }
.wm-band-head h4 { margin:0; font-size:15px; font-weight:700; color:var(--ivory); }
.wm-band-sub { font-size:12px; color:var(--muted); }
.wm-band-count { margin-left:auto; flex:0 0 auto; font-family:var(--mono); font-size:11px; font-weight:700; color:var(--gold); padding:3px 9px; border-radius:20px; background:var(--gold-soft); border:1px solid var(--gold-line); }
.wm-band-empty { font-size:12.5px; color:var(--dim); font-style:italic; }
.wm-band-goals { display:flex; flex-wrap:wrap; gap:10px; }
.wm-chip {
  display:flex; align-items:center; gap:9px; padding:8px 12px 8px 11px; min-width:0; max-width:340px;
  border-radius:12px; border:1px solid var(--line-2); background:var(--surface-2);
  border-left:3px solid var(--cat,var(--gold));
}
.wm-chip.cat-youtube{--cat:var(--red)} .wm-chip.cat-community{--cat:var(--warn)} .wm-chip.cat-fitness{--cat:var(--green)}
.wm-chip.cat-income{--cat:var(--gold)} .wm-chip.cat-identity{--cat:#a78bfa} .wm-chip.cat-other{--cat:var(--muted)}
html[data-mode="light"] .wm-chip.cat-youtube{--cat:#991b1b} html[data-mode="light"] .wm-chip.cat-community{--cat:#78350f} html[data-mode="light"] .wm-chip.cat-fitness{--cat:#166534}
html[data-mode="light"] .wm-chip.cat-identity{--cat:#6d28d9} html[data-mode="light"] .wm-chip.cat-other{--cat:#4b5563}
.wm-chip-ring { flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; }
.wm-chip-name { flex:1; min-width:0; font-size:13px; font-weight:600; color:var(--ivory); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wm-tier-sel {
  flex:0 0 auto; font-family:var(--mono); font-size:11px; padding:5px 8px; border-radius:8px;
  border:1px solid var(--line-2); background:var(--surface); color:var(--muted); cursor:pointer;
}
.wm-tier-sel:focus { outline:none; border-color:var(--gold-2); box-shadow:0 0 0 2px var(--gold-soft); }

/* ---------------- GROWTH FUNNEL (optional add-on inside the goal panel) ---------------- */
.gtf-wrap { margin-top:6px; padding-top:16px; border-top:1px solid var(--line); }
.gtf-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gtf-title { margin:0; font-size:14px; font-weight:600; }
.gtf-enable { margin-top:12px; }
.gtf-toggle { display:flex; align-items:center; gap:9px; font-weight:600; font-size:14px; cursor:pointer; }
.gtf-toggle input, .gtf-link input { width:16px; height:16px; flex:0 0 auto; accent-color:var(--gold); cursor:pointer; }
.gtf-opt { color:var(--muted); font-weight:400; font-size:12px; }
.gtf-intro { margin:6px 0 0; font-size:12.5px; color:var(--muted); max-width:60ch; }
.gtf-controls { margin-top:14px; }
.gtf-tpl { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--muted); margin-bottom:12px; }
.gtf-tpl select { max-width:210px; }
.gtf-rows { display:flex; flex-direction:column; gap:8px; }
.gtf-row { display:flex; align-items:center; gap:8px; }
.gtf-name { flex:1 1 auto; min-width:0; }
.gtf-count { flex:0 0 96px; width:96px; }
.gtf-x { flex:0 0 auto; width:30px; height:30px; border-radius:8px; border:1px solid var(--line-2); background:transparent; color:var(--muted); cursor:pointer; font-size:16px; line-height:1; }
.gtf-x:hover { color:var(--red); border-color:var(--red); }
.gtf-x-spacer { flex:0 0 30px; }
.gtf-controls .gt-btn.sm { margin-top:10px; }
.gtf-readout { margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.gtf-hint { font-size:12.5px; color:var(--muted); }
.gtf-step { padding:10px 12px; border-radius:10px; border:1px solid var(--line); background:var(--surface); }
.gtf-step.focus { border-color:var(--gold-line); background:var(--gold-soft); }
.gtf-step-top { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.gtf-step-name { font-size:13px; font-weight:600; }
.gtf-step-pct { font-family:var(--mono); font-size:12.5px; color:var(--gold); white-space:nowrap; }
.gtf-bar { margin:7px 0 5px; height:7px; border-radius:5px; background:var(--line); overflow:hidden; }
.gtf-bar span { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg, var(--gold), var(--gold-2)); }
.gtf-step.focus .gtf-bar span { background:var(--gold); }
.gtf-step-sub { font-size:11px; color:var(--muted); }
.gtf-e2e { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 12px; border-radius:10px; border:1px dashed var(--line-2); }
.gtf-e2e > span:first-child { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.gtf-e2e b { font-family:var(--mono); font-size:15px; color:var(--gold); }
.gtf-focus-note { font-size:11.5px; color:var(--muted); }
.gtf-link { display:flex; align-items:center; gap:9px; margin-top:14px; font-size:13px; color:var(--muted); cursor:pointer; }

/* ---------------- TYPED METRIC (Number / Milestone / Checklist / None) - Phase 5 ---------------- */
.gt-metric-wrap { display:block; }
.gtm-section { display:flex; flex-direction:column; gap:12px; }
.gtm-body { display:flex; flex-direction:column; gap:10px; }
.gtm-check { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; cursor:pointer; }
.gtm-check input { width:16px; height:16px; flex:0 0 auto; accent-color:var(--gold); cursor:pointer; }
.gtm-steps { display:flex; flex-direction:column; gap:8px; }
.gtm-step { display:flex; align-items:center; gap:8px; }
.gtm-step-done { width:16px; height:16px; flex:0 0 auto; accent-color:var(--gold); cursor:pointer; }
.gtm-step-text { flex:1 1 auto; min-width:0; }
.gtm-section .gt-btn.sm { align-self:flex-start; }
.gtm-hint { margin:0; font-size:12.5px; color:var(--muted); max-width:60ch; }

/* ---------------- CEILING & IDENTITY (Phase 5, Task 4) ---------------- */
.gt-identity { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.gt-identity-ring { flex:0 0 auto; }
.gt-identity-body { flex:1 1 240px; min-width:0; }
.gt-identity-stmt { font-family:var(--serif); font-size:18px; font-weight:600; line-height:1.3; color:var(--ivory); }
.gt-identity-sub { font-size:12.5px; color:var(--muted); margin-top:6px; }
.gt-id-range { width:100%; accent-color:var(--gold); cursor:pointer; }

/* ---------------- 10x GOAL ENGINE FOUNDATION ---------------- */
.gt-tenx-panel { display:flex; flex-direction:column; gap:14px; }
.gt-tenx-ceiling, .gt-tenx-readonly, .gt-tenx-frame, .gt-tenx-tiers {
  padding:16px 18px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
}
.gt-tenx-frame p, .gt-tenx-readonly p, .gt-tenx-ceiling p {
  margin:6px 0 0; color:var(--ivory); line-height:1.55;
}
.gt-tenx-frame p { font-family:var(--serif); font-size:18px; font-weight:600; }
.gt-tenx-ceiling span, .gt-tenx-readonly span, .gt-tenx-area, .gt-tenx-tier-head span {
  display:block; font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--muted);
}
.gt-tenx-goals { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:10px; }
.gt-tenx-goals-drawer {
  border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  overflow:hidden;
}
.gt-tenx-goals-drawer > summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:48px; padding:0 16px; cursor:pointer; list-style:none;
}
.gt-tenx-goals-drawer > summary::-webkit-details-marker { display:none; }
.gt-tenx-goals-drawer > summary span {
  font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.06em;
  color:var(--muted); text-transform:uppercase;
}
.gt-tenx-goals-drawer > summary b {
  display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px;
  border-radius:999px; font-family:var(--mono); font-size:11px; color:var(--gold);
  border:1px solid var(--gold-line); background:var(--gold-soft);
}
.gt-tenx-goals-drawer > summary::after {
  content:"+";
  font-family:var(--mono); font-size:14px; color:var(--muted);
}
.gt-tenx-goals-drawer[open] > summary::after {
  content:"-";
  color:var(--gold);
}
.gt-tenx-goals-drawer .gt-tenx-goals {
  padding:0 14px 14px;
}
.gt-tenx-goal {
  min-height:116px; padding:14px 16px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:var(--surface); border-left:3px solid var(--gold);
}
.gt-tenx-goal p { margin:8px 0 0; color:var(--ivory); font-size:13.5px; line-height:1.5; }
.gt-tenx-tier-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gt-tenx-tier-head b {
  font-family:var(--mono); font-size:11px; color:var(--gold); padding:3px 8px;
  border-radius:999px; border:1px solid var(--gold-line); background:var(--gold-soft);
}
.gt-tenx-tier-grid { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.gt-tenx-tier-grid span {
  font-family:var(--mono); font-size:12px; font-weight:700; color:var(--ivory);
  padding:8px 10px; border-radius:9px; border:1px solid var(--line-2); background:var(--surface-2);
}
.gt-tenx-tiers p { margin:10px 0 0; color:var(--muted); font-size:12.5px; }
.gt-tenx-empty .gt-empty-ic { font-family:var(--mono); font-size:20px; font-weight:700; color:var(--gold); opacity:1; }

/* ---- 10x plan filled into each ladder rung (read-only, grouped by area) ---- */
.wm-band-plan { margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); display:flex; flex-direction:column; gap:10px; }
.wm-band-plan-head { display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); }
.wm-band-plan-head span { color:var(--muted); font-weight:600; letter-spacing:.04em; }
.wm-plan-area { padding:12px 14px; border-radius:var(--radius-lg); border:1px solid var(--line); border-left:3px solid var(--gold); background:var(--surface); }
.wm-plan-area-label { display:block; margin-bottom:6px; font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.wm-plan-items { margin:0; padding-left:18px; color:var(--ivory); font-size:13.5px; line-height:1.55; }
.wm-plan-items li { margin:4px 0; }

/* ---------------- DAILY KPIs + WINS WALL (W3) ---------------- */
.wm-kpis { display:flex; flex-direction:column; gap:8px; }
.wm-kpi-row { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px; border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); flex-wrap:wrap; }
.wm-kpi-label { flex:1 1 180px; min-width:140px; }
.wm-kpi-tgt, .wm-kpi-today { display:flex; align-items:center; gap:6px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); white-space:nowrap; }
.wm-kpi-tgt input { width:64px; }
.wm-kpi-today input { width:74px; }
.wm-kpi-unit { flex:0 0 76px; width:76px; }
.wm-kpi-dot { flex:0 0 auto; width:12px; height:12px; border-radius:50%; background:var(--line-2); }
.wm-kpi-dot.hit { background:var(--green); box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 22%, transparent); }
.wm-kpi-streak { flex:0 0 auto; min-width:34px; font-family:var(--mono); font-size:12px; color:var(--gold); }
.wm-kpi-link { flex:1 1 100%; display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:2px; padding-top:8px; border-top:1px dashed var(--line); }
.wm-kpi-link-sel { flex:0 1 240px; max-width:240px; font-size:12.5px; }
.wm-kpi-link-chip { font-size:11.5px; font-weight:600; padding:4px 10px; border-radius:999px; color:var(--gold); background:var(--gold-soft); border:1px solid var(--gold-line); }
.wm-kpi-link-hint { font-size:11.5px; color:var(--muted); }
.wm-win-suggest { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.wm-win-chip { font-size:12.5px; padding:7px 12px; border-radius:999px; border:1px solid var(--gold-line); background:var(--gold-soft); color:var(--gold); cursor:pointer; transition:transform .15s, background .15s; }
.wm-win-chip:hover { transform:translateY(-1px); background:var(--surface-2); }
.wm-wins { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; }
.wm-win-card { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:var(--radius-lg); border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); border-left:3px solid var(--gold); }
.wm-win-ic { font-size:20px; flex:0 0 auto; }
.wm-win-body { flex:1; min-width:0; }
.wm-win-title { font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wm-win-date { font-size:11.5px; color:var(--muted); font-family:var(--mono); }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:760px) {
  .gt-hero { padding:18px 14px; }
  .gt-block { margin-bottom:16px; }
  .gt-sec-head { align-items:flex-start; gap:8px; }
  .gt-goal { flex-wrap:wrap; }
  .gt-rank { width:24px; font-size:18px; }
  .gt-frow { grid-template-columns:1fr; }
  .gt-modal { padding:20px 10px; }
  .wm-ladder-help { font-size:12px; line-height:1.55; }
  .wm-band { padding:12px 13px; margin-bottom:9px; border-radius:14px; }
  .wm-band-head { gap:8px; align-items:flex-start; }
  .wm-band-head h4 { font-size:13.5px; min-width:74px; }
  .wm-band-sub { flex:1; font-size:11.5px; line-height:1.35; }
  .wm-band-count { padding:2px 7px; font-size:10px; }
  .wm-chip { max-width:100%; flex:1 1 100%; }
  .wm-chip-name { white-space:normal; }
  .wm-tier-sel { width:100%; margin-top:4px; }
  .wm-band-plan { gap:8px; }
  .wm-plan-area { padding:10px 11px; }
  .wm-plan-items { font-size:12.5px; }
  .gtf-count { flex-basis:80px; width:80px; }
  .wm-wins { grid-template-columns:1fr; }
  .wm-kpi-label { flex-basis:100%; }
}

/* ---------- W1 (2026-06-16): guided ceiling/identity flow controls (inside CreatorGuided steps) ---------- */
.gt-guided-field { display:flex; flex-direction:column; gap:12px; }
.gt-guided-in { width:100%; }
textarea.gt-guided-in { resize:vertical; min-height:84px; line-height:1.5; }
.gt-guided-ctrls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
/* "Fill this in for me" - mirrors the shared .cx-ask pill, gold-leaning so it reads as the primary AI assist */
.gt-fillme {
  display:inline-flex; align-items:center; gap:6px;
  font:inherit; font-size:12.5px; font-weight:600; line-height:1;
  padding:7px 12px; border-radius:999px; cursor:pointer;
  color:var(--gold, #d9b25a);
  background:color-mix(in srgb, var(--gold, #d9b25a) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--gold, #d9b25a) 40%, var(--line));
  transition:background .15s ease, color .15s ease, border-color .15s ease, opacity .15s ease;
}
.gt-fillme:hover, .gt-fillme:focus-visible {
  background:color-mix(in srgb, var(--gold, #d9b25a) 22%, transparent);
  border-color:color-mix(in srgb, var(--gold, #d9b25a) 60%, var(--line));
  outline:none;
}
.gt-fillme:disabled, .gt-fillme.busy { opacity:.6; cursor:default; }
.gt-fillme.busy .gt-fillme-ic { animation:gtFillSpin 1s linear infinite; }
.gt-fillme-ic { font-size:11px; }
@keyframes gtFillSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .gt-fillme.busy .gt-fillme-ic { animation:none; } }
/* identity alignment slider step */
.gt-id-align { gap:14px; }
.gt-id-rangeval { font-family:var(--mono, monospace); font-size:15px; color:var(--muted); }
.gt-id-rangeval b { color:var(--gold, #d9b25a); font-size:22px; }

/* ---------- W2-W6 (2026-06-16): guided goal/KPI/win steps + money privacy ---------- */
/* a CreatorExplain-headed field inside a guided step (metric numbers, selects, dates) */
.gt-gfield { display:flex; flex-direction:column; gap:8px; }
.gt-gfield > .cx-fh { margin:0; }
.gt-gfield .gt-in, .gt-gfield select, .gt-gfield input { width:100%; }
.gtm-guided, .gtf-guided { display:block; }
/* W4: the daily-KPI jargon explainer line above the rows */
.wm-kpi-help { margin:0 0 12px; font-size:12.5px; color:var(--muted); line-height:1.6; max-width:70ch; }
/* W6: the money-privacy eye on the Money target section header */
.gt-money-eye {
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:999px; cursor:pointer;
  color:var(--muted); background:transparent; border:1px solid var(--line);
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.gt-money-eye:hover, .gt-money-eye:focus-visible { color:var(--gold); border-color:var(--gold-line); outline:none; }
.gt-money-eye[aria-pressed="true"] { color:var(--gold); border-color:var(--gold-line); background:var(--gold-soft); }

/* Mobile fix (2026-06-20, Codex): section-head action buttons (e.g. "Generate my
   plan with Midas") overflowed the right edge on phones. Drop the actions onto
   their own full-width row that wraps, so nothing spills past the viewport. */
@media (max-width:760px){
  .gt-sec-head{flex-wrap:wrap;align-items:flex-start;}
  .gt-sec-actions{width:100%;flex-wrap:wrap;}
  .gt-sec-actions .gt-btn{flex:1 1 auto;min-width:0;}
}

/* Mobile War Map polish: keep the 10x ladder available, but make it read like
   a compact goals drawer instead of a wall of oversized cards on phones. */
@media (max-width:760px){
  .gt-hero{
    padding:15px 12px;
    gap:14px;
    border-radius:14px;
  }
  .gt-hero h1{
    font-size:clamp(24px,7.2vw,31px);
  }
  .gt-hero .sub{
    font-size:13px;
  }
  .gt-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .gt-stat{
    padding:13px 12px;
  }
  .gt-stat-val{
    font-size:24px;
  }
  .gt-sec-head h3{
    font-size:16px;
  }
  .gt-sec-sub{
    font-size:11.5px;
  }
  .gt-tenx-panel{
    gap:9px;
  }
  .gt-tenx-ceiling,
  .gt-tenx-readonly,
  .gt-tenx-frame,
  .gt-tenx-tiers{
    padding:12px;
    border-radius:14px;
  }
  .gt-tenx-goals{
    grid-template-columns:1fr;
    gap:8px;
  }
  .gt-tenx-goals-drawer{
    border-radius:14px;
  }
  .gt-tenx-goals-drawer > summary{
    min-height:42px;
    padding:0 12px;
  }
  .gt-tenx-goals-drawer .gt-tenx-goals{
    padding:0 10px 10px;
  }
  .gt-tenx-goal{
    min-height:0;
    padding:11px 12px;
    border-radius:13px;
  }
  .gt-tenx-goal p{
    font-size:12.75px;
    line-height:1.42;
    margin-top:6px;
  }
  .gt-tenx-tier-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .gt-tenx-tier-grid span{
    min-width:0;
    padding:8px 9px;
    text-align:center;
    font-size:10.5px;
  }
  .wm-ladder{
    margin-top:4px;
  }
  .wm-ladder-help{
    font-size:11.75px;
    line-height:1.45;
    margin-bottom:10px;
  }
  .wm-band{
    padding:0;
    margin-bottom:8px;
    border-radius:13px;
    overflow:hidden;
  }
  .wm-band-head{
    align-items:center;
    gap:8px;
    margin:0;
    min-height:44px;
    padding:11px 12px;
  }
  .wm-band-head::after{
    margin-left:0;
    font-size:12px;
  }
  .wm-band-head h4{
    min-width:54px;
    font-size:12.5px;
  }
  .wm-band-sub{
    display:none;
  }
  .wm-band-count{
    margin-left:auto;
    font-size:9.5px;
  }
  .wm-band-goals,
  .wm-band-plan{
    padding:0 10px 10px;
  }
  .wm-band-plan{
    margin-top:0;
    border-top:0;
  }
  .wm-band-plan-head{
    font-size:9.5px;
    letter-spacing:.055em;
  }
  .wm-plan-area{
    padding:9px 10px;
    border-radius:12px;
  }
  .wm-plan-area-label{
    font-size:9.5px;
  }
  .wm-plan-items{
    font-size:12px;
    line-height:1.42;
    padding-left:16px;
  }
  .wm-chip{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding:9px 10px;
    border-radius:11px;
  }
  .wm-chip-ring{
    width:24px;
    height:24px;
  }
  .wm-chip-name{
    font-size:12.25px;
    line-height:1.25;
  }
  .wm-tier-sel{
    grid-column:1 / -1;
    width:100%;
    margin-top:2px;
    font-size:10.5px;
    padding:7px 8px;
  }
}

/* ============================================================
   Item 12 additions (r13)
   ============================================================ */

/* --- Progress timeframe toggle bar (item 12.3) --- */
.gt-pf-bar {
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:12px 16px; margin-bottom:16px; border-radius:var(--radius-lg);
  border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
}
.gt-pf-select-wrap {
  position:relative; display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:12px; color:var(--muted);
}
.gt-pf-native-label {
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.gt-pf-select {
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  opacity:0; pointer-events:none; clip:rect(0 0 0 0); clip-path:inset(50%); border:0;
}
.gt-pf-dd-trigger {
  display:inline-flex; align-items:center; justify-content:space-between; gap:10px; min-width:210px;
  font-family:inherit; font-size:12.5px; font-weight:700; color:var(--ivory);
  background:var(--surface); border:1px solid var(--line); border-radius:10px;
  padding:8px 10px 8px 12px; cursor:pointer; transition:border-color .15s, background .15s, color .15s;
}
.gt-pf-dd-trigger:hover,
.gt-pf-dd.is-open .gt-pf-dd-trigger { border-color:var(--gold-line); background:var(--surface-2); color:var(--gold); }
.gt-pf-dd-trigger:focus-visible { outline:none; border-color:var(--gold-2); box-shadow:0 0 0 2px var(--gold-soft); }
.gt-pf-dd-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gt-pf-dd-tic { color:var(--muted); font-size:12px; transition:transform .18s; }
.gt-pf-dd.is-open .gt-pf-dd-tic { transform:rotate(180deg); color:var(--gold); }
.gt-pf-dd-menu {
  position:absolute; top:calc(100% + 6px); left:0; z-index:40; min-width:max(100%, 220px); max-width:min(320px, 86vw);
  display:flex; flex-direction:column; gap:3px; padding:6px; border:1px solid var(--line);
  border-radius:12px; background:var(--surface); box-shadow:0 18px 44px rgba(0,0,0,.36);
}
.gt-pf-dd-menu[hidden] { display:none; }
.gt-pf-dd-opt {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left;
  font-family:inherit; font-size:12.5px; font-weight:650; color:var(--muted);
  background:transparent; border:0; border-radius:8px; padding:8px 9px; cursor:pointer;
  transition:background .15s, color .15s;
}
.gt-pf-dd-opt:hover,
.gt-pf-dd-opt.is-on { color:var(--ivory); background:var(--surface-2); }
.gt-pf-dd-opt.is-on::after { content:"✓"; font-family:var(--mono); font-size:11px; color:var(--gold); }
.gt-pf-pills { display:none; flex-wrap:wrap; gap:6px; }
.gt-pf-pill {
  font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.04em; padding:6px 12px;
  border-radius:999px; border:1px solid var(--line-2); background:transparent; color:var(--muted);
  cursor:pointer; transition:color .12s, background .12s, border-color .12s;
}
.gt-pf-pill:hover { color:var(--ivory); border-color:var(--gold-line); background:var(--gold-soft); }
.gt-pf-pill.active { color:var(--gold); border-color:var(--gold-line); background:var(--gold-soft); }
.gt-pf-pct { display:flex; align-items:baseline; gap:6px; }
.gt-pf-pct b { font-family:var(--serif); font-size:26px; font-weight:700; color:var(--gold); }
.gt-pf-pct span { font-size:11.5px; color:var(--muted); }

/* progress tab toggle button row */
.gt-progress-tab-toggle { margin-bottom:14px; }

/* --- Progress tab (item 12.3) --- */
.gt-progress-tab {
  padding:20px; margin-bottom:22px; border-radius:var(--radius-lg);
  border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
}
.gt-ptab-head { display:flex; align-items:center; gap:20px; margin-bottom:18px; flex-wrap:wrap; }
.gt-ptab-score { text-align:center; flex:0 0 auto; }
.gt-ptab-score-val { font-family:var(--serif); font-size:42px; font-weight:700; color:var(--gold); line-height:1; }
.gt-ptab-score-label { font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-top:4px; }
.gt-ptab-meta { flex:1; display:flex; flex-direction:column; gap:6px; }
.gt-ptab-level { font-size:14px; color:var(--muted); }
.gt-ptab-level b { color:var(--ivory); font-weight:700; }
.gt-ptab-streak { font-size:13px; color:var(--gold); }
.gt-ptab-body { display:flex; flex-direction:column; gap:8px; }
.gt-ptab-row { display:flex; align-items:center; gap:10px; }
.gt-ptab-tf { flex:0 0 70px; font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.gt-ptab-pbar { flex:1; height:8px; border-radius:5px; background:var(--line); overflow:hidden; }
.gt-ptab-pbar span { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg, var(--gold), var(--gold-2)); }
.gt-ptab-pct { flex:0 0 36px; font-family:var(--mono); font-size:12px; font-weight:700; color:var(--gold); text-align:right; }
.gt-ptab-count { flex:0 0 60px; font-size:11px; color:var(--dim); text-align:right; }

/* --- Auto-fill from 10x goals (item 12.2) --- */
.gt-autofill-wrap {
  padding:14px 16px; margin-bottom:14px; border-radius:var(--radius-lg);
  border:1px dashed var(--gold-line); background:var(--gold-soft);
}
.gt-autofill-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.gt-autofill-head > span:first-child { font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); }
.gt-autofill-hint { font-size:11.5px; color:var(--muted); }
.gt-autofill-chips { display:flex; flex-direction:column; gap:8px; }
.gt-autofill-chip {
  display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:10px;
  border:1px solid var(--gold-line); background:var(--surface); cursor:pointer; text-align:left;
  transition:background .15s, border-color .15s;
}
.gt-autofill-chip:hover { background:var(--surface-2); border-color:var(--gold-2); }
.gt-autofill-area { flex:0 0 auto; font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--gold); padding:3px 8px; border-radius:6px; background:var(--gold-soft); border:1px solid var(--gold-line); }
.gt-autofill-text { flex:1; font-size:13px; color:var(--ivory); line-height:1.4; }
.gt-autofill-add { flex:0 0 auto; font-family:var(--mono); font-size:11px; font-weight:700; color:var(--gold); padding:4px 10px; border-radius:6px; background:var(--gold-soft); border:1px solid var(--gold-line); white-space:nowrap; }

/* --- KPI pointer block (item 12.4) --- */
.gt-kpi-pointer { padding:4px 0; }
.gt-kpi-pointer p { font-size:13.5px; color:var(--muted); margin:0 0 12px; line-height:1.55; }
.gt-kpi-pointer a { color:var(--gold); }
.gt-kpi-chips { display:flex; flex-wrap:wrap; gap:8px; }
.gt-kpi-chip {
  font-family:var(--mono); font-size:12px; padding:6px 12px; border-radius:999px;
  border:1px solid var(--line-2); background:var(--surface-2); color:var(--muted);
  white-space:nowrap;
}
.gt-kpi-chip.hit { color:var(--green); border-color:color-mix(in srgb, var(--green) 40%, transparent); background:color-mix(in srgb, var(--green) 12%, transparent); }
.gt-kpi-chip b { font-weight:700; }

/* --- Aggregate funnel (item 12.7) --- */
.gt-agg-funnel { display:flex; flex-direction:column; gap:16px; }
.gt-agg-group { padding:14px 16px; border-radius:var(--radius-lg); border:1px solid var(--line); background:var(--surface); }
.gt-agg-group-label { font-size:11.5px; color:var(--muted); margin-bottom:10px; }
.gt-agg-group-label span { color:var(--ivory); font-weight:600; }

/* responsive */
@media (max-width:760px) {
  .gt-pf-bar { padding:10px 12px; gap:10px; }
  .gt-pf-select-wrap { width:100%; align-items:stretch; flex-direction:column; gap:6px; }
  .gt-pf-dd-trigger { width:100%; min-width:0; }
  .gt-pf-dd-menu { width:100%; max-width:none; }
  .gt-pf-pill { padding:5px 9px; font-size:10px; }
  .gt-pf-pct b { font-size:22px; }
  .gt-progress-tab { padding:14px 12px; }
  .gt-ptab-score-val { font-size:34px; }
  .gt-ptab-tf { flex-basis:56px; font-size:10px; }
  .gt-autofill-chip { flex-wrap:wrap; }
  .wm-path .wm-chip { width:100%; justify-content:flex-start; }
}

/* --- Math breakdown block (deeper 10x engine) --- */
.gt-math-block { }
.gt-math-areas { display:flex; flex-direction:column; gap:14px; }
.gt-math-area {
  padding:16px 18px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2));
  border-left:3px solid var(--gold);
}
.gt-math-area-head {
  display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin-bottom:10px;
}
.gt-math-area-label {
  font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--muted);
}
.gt-math-tenx { font-size:12.5px; color:var(--muted); }
.gt-math-tenx b { color:var(--gold); }
.gt-math-grid {
  display:grid; grid-template-columns:repeat(5, 1fr); gap:8px; margin-bottom:10px;
}
@media (max-width:600px) {
  .gt-math-grid { grid-template-columns:repeat(3, 1fr); }
}
.gt-math-cell {
  display:flex; flex-direction:column; gap:3px; padding:10px 10px 8px;
  border-radius:10px; border:1px solid var(--line); background:var(--surface-2);
  text-align:center;
}
.gt-math-tier {
  font-family:var(--mono); font-size:9.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.055em; color:var(--muted);
}
.gt-math-val { font-family:var(--serif); font-size:16px; font-weight:700; color:var(--gold); line-height:1.2; }
.gt-math-basis { margin:0 0 10px; font-size:12px; color:var(--muted); line-height:1.5; }
.gt-math-recs-btn { margin-top:2px; }
.gt-math-recs { margin-top:10px; }
.gt-math-explainer {
  margin-top:14px; padding:14px 16px; border-radius:var(--radius-lg);
  border:1px solid var(--line); background:var(--surface);
}
.gt-math-explainer summary {
  cursor:pointer; list-style:none; font-family:var(--mono); font-size:11.5px;
  font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;
}
.gt-math-explainer summary::-webkit-details-marker { display:none; }
.gt-math-explainer[open] summary { color:var(--gold); }
.gt-math-explainer-body { margin-top:10px; }
.gt-math-explainer-body p { margin:0; font-size:13px; color:var(--muted); line-height:1.6; max-width:70ch; }

/* --- WO-3.8: confidence, assumptions, versions, pacing --- */
.wm-conf { position:relative; display:inline-block; flex:0 0 auto; }
.wm-conf > summary {
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  padding:3px 7px; border-radius:999px; border:1px solid var(--line);
  background:var(--surface-2); color:var(--muted); font-size:11px; font-weight:700;
}
.wm-conf > summary::-webkit-details-marker { display:none; }
.wm-conf > summary b { color:var(--gold); font-family:var(--mono); font-size:10.5px; }
.wm-conf.has-broken > summary { border-color:color-mix(in srgb, var(--red) 45%, transparent); background:color-mix(in srgb, var(--red) 10%, transparent); }
.wm-conf-meter { width:34px; height:5px; border-radius:999px; background:var(--viz-track,rgba(255,255,255,.08)); overflow:hidden; display:inline-block; }
.wm-conf-meter i { display:block; height:100%; border-radius:inherit; background:var(--gold); }
.wm-conf.has-broken .wm-conf-meter i { background:var(--red); }
.wm-conf-pop {
  position:absolute; right:0; top:calc(100% + 6px); z-index:20; width:min(280px,80vw);
  padding:10px 12px; border:1px solid var(--line); border-radius:10px;
  background:var(--surface-3); box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.wm-conf-pop div { display:flex; justify-content:space-between; gap:12px; padding:4px 0; font-size:11.5px; border-bottom:1px solid var(--line-2); }
.wm-conf-pop div:last-of-type { border-bottom:0; }
.wm-conf-pop span { color:var(--muted); }
.wm-conf-pop b { color:var(--ivory); text-align:right; }
.wm-conf-pop p { margin:8px 0 0; font-size:11px; line-height:1.45; color:var(--dim); }
.wm-band-conf { display:flex; justify-content:flex-end; margin:-6px 0 10px; }

.wm-plan-diff {
  border:1px solid var(--gold-line); border-radius:var(--radius-lg); background:var(--gold-soft);
  padding:14px 16px; display:flex; flex-direction:column; gap:10px;
}
.wm-plan-diff-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.wm-plan-diff-head span { display:block; font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); }
.wm-plan-diff-head p { margin:3px 0 0; color:var(--muted); font-size:12.5px; }
.wm-plan-diff-actions { display:flex; gap:8px; flex-wrap:wrap; }
.wm-plan-diff-area { border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:10px 12px; }
.wm-plan-diff-area summary { cursor:pointer; list-style:none; font-weight:700; font-size:13px; color:var(--ivory); }
.wm-plan-diff-area summary::-webkit-details-marker { display:none; }
.wm-plan-diff-tier { margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); }
.wm-plan-diff-tier-label { display:block; font-family:var(--mono); font-size:10.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.wm-plan-diff-group { margin:6px 0; }
.wm-plan-diff-group b { display:block; font-size:11px; color:var(--muted); margin-bottom:4px; }
.wm-plan-diff-group ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; }
.wm-plan-diff-group li { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ivory); }
.wm-plan-diff-group i { color:var(--dim); font-style:normal; }
.wm-plan-diff-add li span:first-child { color:var(--green); }
.wm-plan-diff-remove li span:first-child { color:var(--red); }

.wm-pacing-note {
  margin:7px 0 0; padding:8px 10px; border-radius:8px;
  border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);
  background:color-mix(in srgb, var(--gold) 9%, transparent);
  color:var(--gold); font-size:12px; line-height:1.45;
}
.wm-goal-plan {
  margin-top:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2);
  overflow:hidden;
}
.wm-goal-plan > summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px;
  padding:9px 11px; font-size:12.5px; color:var(--ivory);
}
.wm-goal-plan > summary::-webkit-details-marker { display:none; }
.wm-goal-plan > summary span { font-weight:650; }
.wm-goal-plan > summary small { color:var(--muted); margin-left:auto; }
.wm-goal-plan > summary b { color:var(--muted); font-family:var(--mono); }
.wm-goal-plan[open] > summary b { color:var(--gold); }
.wm-goal-plan.has-broken > summary { background:color-mix(in srgb, var(--red) 8%, transparent); }
.wm-goal-plan-body { border-top:1px solid var(--line); padding:11px; display:flex; flex-direction:column; gap:10px; }
.wm-assumption-row {
  display:grid; grid-template-columns:minmax(160px,1.2fr) 110px 110px 130px minmax(180px,1fr) 30px;
  gap:8px; align-items:start;
}
.wm-assumption-row.is-broken { padding:8px; margin:-8px; border-radius:10px; background:color-mix(in srgb, var(--red) 8%, transparent); }
.wm-assumption-row textarea { resize:vertical; min-height:38px; }
.wm-woop { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:10px; border-top:1px dashed var(--line); }
.wm-woop > span { grid-column:1/-1; font-family:var(--mono); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.wm-woop-line { grid-column:1/-1; font-size:12px; color:var(--gold); line-height:1.45; }
@media (max-width:760px) {
  .wm-conf-pop { right:auto; left:0; }
  .wm-assumption-row { grid-template-columns:1fr; }
  .wm-woop { grid-template-columns:1fr; }
}

/* --- Behind-schedule banner --- */
.gt-behind-banner {
  padding:14px 18px; margin-bottom:16px; border-radius:var(--radius-lg);
  border:1px solid color-mix(in srgb, var(--red) 40%, transparent);
  background:color-mix(in srgb, var(--red) 8%, transparent);
}
.gt-behind-head {
  font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--red); margin-bottom:8px;
}
.gt-behind-list {
  margin:0 0 6px 16px; padding:0; font-size:13px; color:var(--ivory);
  display:flex; flex-direction:column; gap:5px; list-style:disc;
}
.gt-behind-timeline { margin:8px 0 0; font-size:12px; color:var(--muted); line-height:1.5; }

/* ============================================================
   WO-3.10: Milestone Projection Bars ("Your Road")
   ============================================================ */
.wm-road-empty { }
.wm-road-note { font-size:12px; color:var(--muted); margin:-4px 0 12px; }

.wm-road-chart-card {
  border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface-2);
  padding:16px 18px 8px; margin-bottom:14px;
}
.wm-road-chart-top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:6px; }
.wm-road-chart-title { font-size:14px; font-weight:650; }
.wm-road-rangebar { display:inline-flex; background:var(--surface-3); border:1px solid var(--line); border-radius:999px; padding:2px; }
.wm-road-rng { border:0; background:none; color:var(--muted); font:600 11px/1 var(--sans); padding:6px 13px; border-radius:999px; cursor:pointer; }
.wm-road-rng.on { background:var(--surface); color:var(--ivory); box-shadow:inset 0 0 0 1px var(--line); }
.wm-road-chart-legend { display:flex; gap:14px; font-size:11px; color:var(--muted); margin-left:auto; }
.wm-road-chart-legend i { display:inline-block; width:13px; height:3px; border-radius:2px; vertical-align:2px; margin-right:5px; background:var(--muted); }
.wm-road-chart-legend i.act { background:var(--gold); }
.wm-road-svg { width:100%; height:auto; display:block; touch-action:pan-y; }

.wm-road-legend2 { text-align:right; font-size:12px; color:var(--dim); margin-bottom:8px; }
.wm-road-legend2 .dotp, .wm-road-legend2 .dota { display:inline-block; width:8px; height:8px; border-radius:50%; margin:0 4px 0 10px; vertical-align:1px; }
.wm-road-legend2 .dotp { background:var(--muted); } .wm-road-legend2 .dota { background:var(--gold); }

.wm-road-rows { display:flex; flex-direction:column; gap:8px; }
.wm-road-ms { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2); overflow:hidden; }
.wm-road-ms-row {
  display:grid; grid-template-columns:104px 1fr 128px 16px; gap:14px; align-items:center;
  padding:13px 16px; cursor:pointer; list-style:none;
}
.wm-road-ms-row::-webkit-details-marker { display:none; }
.wm-road-ms-row::after { content:"+"; margin-left:2px; font-family:var(--mono); font-size:14px; color:var(--muted); }
.wm-road-ms[open] .wm-road-ms-row::after { content:"-"; color:var(--gold); }
.wm-road-ms-row:hover { background:var(--surface-3); }
.wm-road-ms-name { display:block; font-weight:650; font-size:13.5px; }
.wm-road-ms-date { display:block; font-size:11px; color:var(--dim); margin-top:1px; }
.wm-road-bar { position:relative; height:7px; background:var(--viz-track,rgba(255,255,255,.06)); border-radius:999px; }
.wm-road-bar-proj { position:absolute; inset:0 auto 0 0; background:var(--muted); border-radius:999px; }
.wm-road-bar-act { position:absolute; top:-4px; width:2.5px; height:15px; background:var(--gold); border-radius:2px; box-shadow:0 0 0 3px var(--gold-soft); }
.wm-road-ms-stat { text-align:right; font-size:12.5px; font-weight:650; color:var(--muted); }
.wm-road-stat-ahead { color:var(--green); }
.wm-road-stat-behind { color:var(--red); }
.wm-road-stat-on { color:var(--gold); }
.wm-road-ms[open] .wm-road-ms-row { background:var(--surface-3); }
.wm-road-drawer { border-top:1px solid var(--line); padding:14px 18px 18px; }
.wm-road-drawer h4 { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin:12px 0 8px; font-weight:650; }
.wm-road-drawer h4:first-child { margin-top:0; }
.wm-road-have { list-style:none; margin:0; padding:0; }
.wm-road-have li { padding:5px 0 5px 20px; position:relative; font-size:13px; color:var(--ivory); }
.wm-road-have li::before { content:""; position:absolute; left:3px; top:11px; width:6px; height:6px; border:1.5px solid var(--gold); border-radius:50%; }
.wm-road-earlier { font-size:11.5px; color:var(--dim); margin:4px 0 0; }
.wm-road-become { font-style:italic; color:var(--ivory); font-size:13.5px; border-left:2px solid var(--gold); padding:4px 0 4px 12px; }

.wm-road-pace { margin-top:14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2); padding:14px 16px; }
.wm-road-pace h4 { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin:0 0 8px; font-weight:650; }
.wm-road-pace-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:6px 0; border-bottom:1px dashed var(--line-2); font-size:12.5px; }
.wm-road-pace-row:last-of-type { border-bottom:0; }
.wm-road-pace-name { font-weight:600; color:var(--ivory); }
.wm-road-pace-val { color:var(--muted); }
.wm-road-pace-inf { color:var(--gold); margin-left:auto; }
.wm-road-pace-foot { font-size:11.5px; color:var(--dim); margin:8px 0 0; }

.wm-road-tip {
  position:fixed; z-index:80; pointer-events:none; display:none;
  background:var(--surface-3); border:1px solid var(--line); border-radius:10px;
  padding:8px 11px; font-size:12px; color:var(--ivory); box-shadow:0 6px 24px rgba(0,0,0,.4);
}
@media (max-width:640px) {
  .wm-road-ms-row { grid-template-columns:76px 1fr 16px; }
  .wm-road-ms-stat { display:none; }
}
