@font-face{font-family:"DejaVu Sans";font-style:normal;font-weight:400;font-display:swap;src:url(DejaVuSans-e30f8a72.woff2) format("woff2");}
@font-face{font-family:"DejaVu Sans";font-style:normal;font-weight:700;font-display:swap;src:url(DejaVuSans-Bold-a0144fc6.woff2) format("woff2");}
/* ==========================================================================
   Coretime — tokens and components (01 §7, prototype.html; brand: README §Decisions 139)
   Changes against the prototype are marked FIX with the reason.
   ========================================================================== */
:root{
  /* Coretime (README §Decisions 139, docs/45-coretime-brand.md), replacing "Stave" (§71): the brand guide's
     Canvas page, white cards, Core green for the brand, headings and the one primary action, Growth coral only for
     small accents (the now line, accent rules, highlights) and never as text on white or under white text. Ratings
     keep their own ramp from rosewood to leaf green, apart from the brand, so "good" never looks like "clickable".
     Every text pair is at least 4.5:1 in both themes; control borders (--rule-strong) at least 3:1. */
  --paper:#F5F7F4; --surface:#FFFFFF; --sunk:#ECF1ED;
  --ink:#18332A; --ink-soft:#53685E;
  --ink-faint:#566B61;
  --rule:#DCE4DE; --rule-strong:#7A8E84;
  --primary:#0E3927; --primary-ink:#145A3C; --primary-soft:#E4EEE8; --on-primary:#FFFFFF;
  --accent:#F76D45; --accent-soft:#FDE7DF; --accent-ink:#A63A17;
  --attention:#B4233F; --attention-soft:#FBE4E8;
  --warn:#7A5300; --warn-soft:#FBEFD3;
  --good:#2B7134; --good-soft:#E1F1DD;
  --r-good:#2B7134; --r-ok:#5E9E58; --r-mid:#8A9690; --r-low:#D9738A; --r-poor:#B4233F;
  --shadow:0 1px 2px rgba(14,57,39,.05),0 2px 8px -4px rgba(14,57,39,.08);
  --shadow-pop:0 2px 6px rgba(14,57,39,.08),0 18px 40px -16px rgba(14,57,39,.26);
  /* DejaVu Sans, shipped with the app (scripts/build.mjs); Arial where it has not loaded. */
  --font-text:"DejaVu Sans",Arial,sans-serif;
  --font-display:"DejaVu Sans",Arial,sans-serif;
  --t-xs:12.5px; --t-sm:13.5px; --t-md:15px; --t-lg:18px; --t-xl:24px; --t-2xl:32px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
  --rad:8px; --rad-lg:12px; --rail:232px;
  color-scheme:light;
}
html[data-theme="dark"]{
  /* Dark: deep green surfaces derived from Core green, light text, a mint green for actions (Core green itself has
     no contrast on them) and a lighter coral for the accents. */
  --paper:#0B1E16; --surface:#11291F; --sunk:#183428;
  --ink:#E8F0EB; --ink-soft:#B3C6BB;
  --ink-faint:#A0B5AA;
  --rule:#25443A; --rule-strong:#6E8C7F;
  --primary:#8FD6AF; --primary-ink:#AEE4C6; --primary-soft:#1D4535; --on-primary:#0B1E16;
  --accent:#F7845F; --accent-soft:#4A2418; --accent-ink:#FFB59B;
  --attention:#FF92A8; --attention-soft:#4A1C2A;
  --warn:#F0C060; --warn-soft:#3B2F10;
  --good:#A6DB86; --good-soft:#22401C;
  --r-good:#A6DB86; --r-ok:#6FAE6A; --r-mid:#7F8F87; --r-low:#E27D97; --r-poor:#FF92A8;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 2px 10px -6px rgba(0,0,0,.6);
  --shadow-pop:0 2px 8px rgba(0,0,0,.45),0 22px 48px -18px rgba(0,0,0,.85);
  color-scheme:dark;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper); color:var(--ink);
  /* DejaVu Sans, shipped with the app (README §Decisions 71, 139). Never fetched from a font CDN: that
     sends every visitor's IP address to a third party before consent (LG München I, 3 O 17493/20). */
  font-family:var(--font-text);
  font-size:var(--t-md); line-height:1.5; font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;font-weight:600;line-height:1.25;letter-spacing:-.01em;}
h1{font-size:var(--t-xl);font-weight:700;letter-spacing:-.015em;} h2{font-size:var(--t-lg);} h3{font-size:var(--t-md);}
p{margin:0;}
a{color:var(--primary-ink);}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0;}
button:disabled{cursor:default;opacity:.55;}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px;}
.key{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);letter-spacing:-.01em;}
.muted{color:var(--ink-soft);}
.faint{color:var(--ink-faint);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--surface);padding:6px 10px;border-radius:var(--rad);box-shadow:var(--shadow);}
.skip:focus{left:8px;}

/* ---------- shell ---------- */
.app{display:grid;grid-template-columns:var(--rail) 1fr;min-height:100vh;}
.rail{
  background:var(--surface);border-right:1px solid var(--rule);
  padding:var(--s5) var(--s3);display:flex;flex-direction:column;gap:var(--s5);
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.brand{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s2);}
.brand svg{width:24px;height:24px;flex:none;}
.brand b{font-weight:600;font-size:var(--t-lg);letter-spacing:-.01em;}
.nav{display:flex;flex-direction:column;gap:2px;}
.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:var(--s3) var(--s2) var(--s1);}
.nav a{
  display:flex;align-items:center;gap:var(--s3);width:100%;
  padding:7px var(--s2);border-radius:var(--rad);text-decoration:none;
  color:var(--ink-soft);font-size:var(--t-md);
}
.nav a:hover{background:var(--sunk);color:var(--ink);}
.nav a[aria-current="page"]{background:var(--primary);color:var(--on-primary);font-weight:600;}
.nav .badge{margin-left:auto;background:var(--attention);color:#fff;font-size:var(--t-xs);padding:1px 6px;border-radius:9px;font-weight:500;}
html[data-theme="dark"] .nav .badge{color:#2A0F1D;}
.glyph{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--s2);}
.residency{
  display:flex;align-items:center;gap:var(--s2);width:100%;padding:5px var(--s2);border-radius:var(--rad);
  font-size:var(--t-xs);color:var(--ink-faint);text-align:left;line-height:1.3;text-decoration:none;
}
.residency:hover{background:var(--sunk);color:var(--ink-soft);}
.residency .glyph{width:13px;height:13px;stroke-width:1.4;}
.who{display:flex;align-items:center;gap:var(--s2);padding:var(--s2);border-radius:var(--rad);background:var(--sunk);width:100%;text-align:left;}
.who:hover{outline:1px solid var(--rule-strong);}
.who .thin{display:block;}
.avatar{width:26px;height:26px;border-radius:50%;flex:none;background:var(--primary);color:var(--surface);display:grid;place-items:center;font-size:var(--t-xs);font-weight:600;}
html[data-theme="dark"] .avatar{color:var(--on-primary);}
.main{padding:var(--s5) var(--s6) var(--s7);max-width:1180px;min-width:0;}
.topbar{display:flex;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap;}
.topbar .date{color:var(--ink-soft);font-size:var(--t-sm);margin-top:2px;}
.controls{margin-left:auto;display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;}
.seg{display:flex;border:1px solid var(--rule-strong);border-radius:var(--rad);overflow:hidden;}
.seg button{padding:4px 9px;font-size:var(--t-sm);color:var(--ink-soft);}
.seg button+button{border-left:1px solid var(--rule-strong);}
.seg button[aria-pressed="true"]{background:var(--primary-soft);color:var(--primary-ink);font-weight:500;}
.banner{
  display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;
  padding:var(--s2) var(--s3);margin-bottom:var(--s4);border-radius:var(--rad);
  background:var(--warn-soft);color:var(--ink);font-size:var(--t-sm);border:1px solid var(--rule);
}
.banner .spacer{flex:1;}

/* ---------- panels ---------- */
.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);box-shadow:var(--shadow);}
.panel-head{display:flex;align-items:baseline;gap:var(--s3);padding:var(--s4) var(--s4) var(--s3);flex-wrap:wrap;}
.panel-head .count{margin-left:auto;font-size:var(--t-sm);color:var(--ink-faint);}
.panel-body{padding:0 var(--s4) var(--s4);}
.panel-foot{padding:var(--s3) var(--s4);border-top:1px solid var(--rule);font-size:var(--t-xs);color:var(--ink-faint);}
.stack{display:flex;flex-direction:column;gap:var(--s5);}
.row{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;}
.grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--s5);align-items:start;}
.grid-even{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);align-items:start;}
.kv{display:flex;justify-content:space-between;gap:var(--s3);padding:7px 0;border-top:1px solid var(--rule);font-size:var(--t-sm);}
.kv:first-child{border-top:none;}
.kv b{font-weight:500;text-align:right;}
.note-empty{padding:var(--s5);text-align:center;color:var(--ink-soft);font-size:var(--t-sm);}
.lead{color:var(--ink-soft);font-size:var(--t-sm);max-width:72ch;}
.prose{max-width:72ch;}
.prose p+p{margin-top:var(--s3);}

/* ---------- ribbon: the hero ---------- */
.ribbon{padding:var(--s4);}
.ribbon-scale{display:grid;grid-template-columns:132px 1fr;align-items:center;font-size:var(--t-xs);color:var(--ink-faint);margin-bottom:var(--s2);}
.hours{position:relative;height:14px;}
.hours span{position:absolute;transform:translateX(-50%);}
.ribbon-row{display:grid;grid-template-columns:132px 1fr;align-items:center;border-top:1px solid var(--rule);}
.ribbon-row:last-child{border-bottom:1px solid var(--rule);}
.ribbon-name{padding:var(--s3) var(--s3) var(--s3) 0;font-size:var(--t-sm);display:flex;flex-direction:column;gap:1px;min-width:0;}
.ribbon-name a{font-weight:500;color:var(--ink);text-decoration:none;}
.ribbon-name a:hover{text-decoration:underline;}
.track{position:relative;height:54px;}
.track::before{content:"";position:absolute;inset:14px 0;background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px calc(100% / var(--cols,9)));opacity:.7;}
.now{position:absolute;top:2px;bottom:2px;width:1px;background:var(--attention);z-index:2;pointer-events:none;}
.now::before{content:"";position:absolute;top:-1px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--attention);}
.cer{
  position:absolute;top:8px;height:38px;border-radius:4px;background:var(--primary-soft);
  border:1px solid transparent;border-left:3px solid var(--r-mid);padding:3px 6px;font-size:12px;
  line-height:1.15;overflow:hidden;text-align:left;color:var(--ink);display:flex;flex-direction:column;justify-content:center;
}
.cer:hover{border-color:var(--rule-strong);}
.cer b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:22px;}
.cer i{font-style:normal;color:var(--ink-soft);white-space:nowrap;}
.cer[data-flag]{background:var(--attention-soft);}
.cer[data-overlap]{box-shadow:inset 0 0 0 1px var(--warn);}
/* FIX: numbers in ink; the ramp colour lives on the left border only. */
.cer .score{position:absolute;right:4px;bottom:3px;font-size:12px;font-weight:600;color:var(--ink);}
.cer[data-compact]{padding:0 2px;align-items:center;min-width:32px;}
.cer[data-compact] .score{position:static;}
.cer:focus-visible,.cer:hover{z-index:3;}
.cer .ovl{position:absolute;right:4px;top:3px;width:10px;height:10px;color:var(--warn);}
.ribbon-legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:var(--t-xs);color:var(--ink-soft);padding:var(--s3) 0 0;}
.ribbon-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin-right:5px;}

/* ---------- attention list ---------- */
.item{display:grid;grid-template-columns:3px 1fr auto;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--rule);align-items:start;}
.item:first-child{border-top:none;}
.spine{align-self:stretch;background:var(--rule-strong);border-radius:2px;}
.spine[data-tone="attention"]{background:var(--attention);}
.spine[data-tone="warn"]{background:var(--warn);}
.item h3{margin-bottom:2px;font-weight:500;}
.meta{font-size:var(--t-sm);color:var(--ink-soft);display:flex;gap:var(--s2);flex-wrap:wrap;}
.meta{column-gap:0;row-gap:2px;}
.meta>span:not(:last-child)::after{content:"·";margin:0 var(--s2);color:var(--ink-faint);}
.act{
  font-size:var(--t-sm);color:var(--primary-ink);background:var(--primary-soft);padding:4px 10px;border-radius:var(--rad);
  white-space:nowrap;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px;
}
.act:hover{filter:brightness(.96);}
.brief li{margin:4px 0;}
.brief{margin:0;padding-left:var(--s4);font-size:var(--t-sm);}

/* ---------- controls ---------- */
.btn{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--rad);
  border:1px solid var(--rule-strong);background:var(--surface);font-size:var(--t-sm);font-weight:500;color:var(--ink);white-space:nowrap;text-decoration:none;
}
.btn:hover:not(:disabled){background:var(--sunk);}
/* A long label wraps on a phone instead of pushing the page sideways (README §Decisions 139). */
.btn{max-width:100%;}
@media (max-width:640px){ .btn{white-space:normal;text-align:center;} }
.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.btn-primary:hover:not(:disabled){background:var(--primary-ink);border-color:var(--primary-ink);}
html[data-theme="dark"] .btn-primary:hover:not(:disabled){background:var(--primary-ink);}
.btn-danger{color:var(--attention);border-color:var(--attention);}
.btn-danger:hover:not(:disabled){background:var(--attention-soft);}
.btn-quiet{border-color:transparent;background:none;color:var(--primary-ink);padding:4px 6px;}
.btn-quiet:hover:not(:disabled){background:var(--sunk);}
.link{color:var(--primary-ink);text-decoration:underline;text-underline-offset:2px;font-size:inherit;}
.field{display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);}
.field>span{color:var(--ink-soft);}
.field small{color:var(--ink-faint);font-size:var(--t-xs);}
.field .err{color:var(--attention);font-size:var(--t-xs);}
input,textarea,select{
  font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);
  border-radius:var(--rad);padding:6px 8px;font-size:var(--t-sm);min-width:0;
}
textarea{resize:vertical;min-height:72px;}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:0;}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--attention);}
.checks{display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);}
.checks label{display:flex;gap:8px;align-items:center;}
fieldset{border:none;padding:0;margin:0;}
legend{padding:0;font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:4px;}

/* ---------- tables ---------- */
.table-wrap,.table-scroll{overflow-x:auto;position:relative;}
table{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
th{text-align:left;font-weight:500;color:var(--ink-faint);font-size:var(--t-xs);padding:0 var(--s3) var(--s2);border-bottom:1px solid var(--rule);white-space:nowrap;}
th button{color:inherit;font-weight:inherit;display:inline-flex;gap:3px;align-items:center;}
th button:hover{color:var(--ink);}
th.num,td.num{text-align:right;}
td{padding:var(--s3);border-bottom:1px solid var(--rule);vertical-align:middle;}
tbody tr:hover{background:var(--sunk);}
td .tname{font-size:var(--t-md);font-weight:500;color:var(--ink);text-decoration:none;}
td a.tname:hover{text-decoration:underline;}
td .tsub{color:var(--ink-faint);font-size:var(--t-xs);}
.pill{display:inline-block;padding:1px 7px;border-radius:9px;font-size:var(--t-xs);border:1px solid var(--rule-strong);color:var(--ink-soft);white-space:nowrap;}
.pill[data-kind="temp"]{border-color:var(--warn);color:var(--warn);background:var(--warn-soft);}
.pill[data-kind="guild"]{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-soft);}
.pill[data-kind="bad"]{border-color:var(--attention);color:var(--attention);background:var(--attention-soft);}
.pill[data-kind="good"]{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-soft);}
.thin{font-size:var(--t-xs);color:var(--ink-faint);}

/* ---------- rating glyph: number and bar, never colour alone ---------- */
.rating{display:inline-flex;align-items:center;gap:6px;}
/* FIX: the number is ink, not ramp colour (ramp mid and low fail 4.5:1). */
.rating b{font-weight:600;font-size:var(--t-md);min-width:26px;text-align:right;color:var(--ink);}
.rbar{width:44px;height:5px;border-radius:3px;background:var(--sunk);overflow:hidden;box-shadow:inset 0 0 0 1px var(--rule);}
.rbar i{display:block;height:100%;border-radius:3px;}
.delta{font-size:var(--t-xs);color:var(--ink-soft);}
.delta[data-dir="down"]{color:var(--attention);}

/* ---------- impediments ---------- */
.imp{border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s4);background:var(--surface);margin-bottom:var(--s3);}
.imp[data-stalled]{border-left:3px solid var(--attention);border-radius:0 var(--rad-lg) var(--rad-lg) 0;}
.imp-top{display:flex;gap:var(--s3);align-items:baseline;margin-bottom:var(--s2);}
.imp-top h3{font-weight:500;}
.age{margin-left:auto;font-size:var(--t-sm);color:var(--ink-soft);white-space:nowrap;}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s3);align-items:center;}
.chip{font-size:var(--t-xs);padding:2px 8px;border-radius:var(--rad);background:var(--sunk);color:var(--ink-soft);}
.chip[data-on]{background:var(--attention-soft);color:var(--attention);}
.imp-actions{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;}
.timeline{list-style:none;margin:var(--s3) 0 0;padding:0 0 0 var(--s3);border-left:2px solid var(--rule);font-size:var(--t-sm);}
.timeline li{padding:4px 0 8px;}
.timeline .when{color:var(--ink-faint);font-size:var(--t-xs);}
.finding{display:grid;grid-template-columns:3px 1fr;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--rule);}
.finding .row{margin-top:var(--s2);}
.finding .act{white-space:normal;text-align:left;}
.finding:first-child{border-top:none;}

/* ---------- retro ---------- */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);}
.cols[data-buckets="1"]{grid-template-columns:minmax(0,1fr);}
.cols[data-buckets="2"]{grid-template-columns:repeat(2,minmax(0,1fr));}
.cols[data-buckets="4"]{grid-template-columns:repeat(2,minmax(0,1fr));}
.cols[data-buckets="5"],.cols[data-buckets="6"]{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){.cols,.cols[data-buckets]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.cols,.cols[data-buckets]{grid-template-columns:minmax(0,1fr);}}
.col{min-width:0;}
.col[data-tone="good"] h3{color:var(--good-ink,var(--primary-ink));}
.col[data-tone="bad"] h3{color:var(--attention);}
.col[data-tone="watch"] h3{color:var(--warn-ink,var(--attention));}
.col[data-tone="idea"] h3{color:var(--primary-ink);}
.col[data-tone] h3{border-bottom:2px solid var(--rule);padding-bottom:4px;}
.col.unsorted{grid-column:1/-1;border:1px dashed var(--rule-strong);border-radius:var(--rad-lg);padding:var(--s3);margin-top:var(--s3);background:var(--sunk);}
.method-bar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--rad);background:var(--surface);margin-bottom:var(--s3);font-size:var(--t-sm);}
.method-bar .spacer{flex:1;}
.method-guide{font-size:var(--t-sm);color:var(--ink-soft);margin:0 0 var(--s3);}
dialog.wide{max-width:760px;width:calc(100% - var(--s4));}
.method-list{display:flex;flex-direction:column;gap:var(--s3);max-height:60vh;overflow-y:auto;}
.method-section{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:var(--s2) 0 4px;}
.method-row{display:flex;gap:var(--s2);align-items:center;width:100%;text-align:left;padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--rad);background:var(--surface);cursor:pointer;font:inherit;color:inherit;}
.method-row:hover{border-color:var(--primary);background:var(--primary-soft);}
.method-row[aria-current]{border-color:var(--primary);}
.method-row .grow{flex:1;min-width:0;}
.method-detail h3{margin:var(--s2) 0 2px;}
.method-detail>.btn-quiet{margin-bottom:var(--s2);}
.chip[data-tone="bad"]{background:var(--attention-soft);}
.chip[data-tone="watch"]{background:var(--warn-soft,var(--attention-soft));}
.chip[data-tone="good"],.chip[data-tone="idea"]{background:var(--primary-soft);}
.col h3{margin-bottom:var(--s1);}
.col>.thin{margin-bottom:var(--s3);}
.note{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad);padding:var(--s3);margin-bottom:var(--s2);font-size:var(--t-sm);}
.note[data-discussed]{background:var(--sunk);}
.note .src{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-top:var(--s2);font-size:var(--t-xs);color:var(--ink-faint);}
.note .src em{font-style:normal;padding:1px 6px;border-radius:4px;background:var(--sunk);}
.note-tools{display:flex;gap:2px;margin-top:var(--s1);flex-wrap:wrap;}
.note-foot{display:flex;gap:var(--s2);align-items:center;justify-content:space-between;margin-top:var(--s1);}
.note-foot .btn-quiet{font-size:var(--t-xs);padding:2px 4px;}
.note-tools .btn-quiet{font-size:var(--t-xs);}
.lang{font-size:var(--t-xs);color:var(--ink-faint);border:1px solid var(--rule);border-radius:3px;padding:0 4px;text-transform:none;}
.lineage{display:inline-flex;gap:3px;align-items:center;}
.lineage i{width:8px;height:8px;border-radius:50%;background:var(--rule-strong);display:inline-block;}
.lineage i[data-open]{background:var(--warn);}
.done-title{text-decoration:line-through;color:var(--ink-soft);}

/* ---------- chart ---------- */
.chart{width:100%;height:auto;display:block;}
.chart text{fill:var(--ink-faint);font-size:11px;font-family:inherit;}
.legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:var(--t-xs);color:var(--ink-soft);margin-top:var(--s2);}
.legend i{display:inline-block;width:16px;height:2px;vertical-align:middle;margin-right:6px;}
.insight{margin-top:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--rad);background:var(--sunk);font-size:var(--t-sm);}
details>summary{cursor:pointer;color:var(--primary-ink);font-size:var(--t-sm);}

/* ---------- rating card (the Teams adaptive card, rendered here) ---------- */
.card{border:1px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);box-shadow:var(--shadow);max-width:520px;}
.card-head{padding:var(--s4);border-bottom:1px solid var(--rule);display:flex;gap:var(--s3);align-items:center;}
.card-body{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4);}
.scores{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;}
.scores[data-scale="5"]{grid-template-columns:repeat(5,1fr);max-width:420px;}
.scores button{
  border:1px solid var(--rule-strong);border-radius:var(--rad);padding:8px 0;font-weight:600;background:var(--surface);
  position:relative;
}
.scores button::after{content:"";position:absolute;left:25%;right:25%;bottom:3px;height:2px;border-radius:1px;background:var(--sc);}
.scores button:hover{background:var(--sunk);}
.scores button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
html[data-theme="dark"] .scores button[aria-pressed="true"]{color:var(--on-primary);}
.scale-ends{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--ink-faint);margin-top:4px;}
.privacy-note{font-size:var(--t-xs);color:var(--ink-soft);background:var(--sunk);padding:var(--s2) var(--s3);border-radius:var(--rad);}
.list-btn{
  display:flex;width:100%;gap:var(--s3);align-items:center;text-align:left;padding:var(--s2) var(--s2);border-radius:var(--rad);
}
.list-btn:hover{background:var(--sunk);}
.list-btn[aria-current="true"]{background:var(--primary-soft);}
/* FIX: --ink-faint is 4.2:1 on --primary-soft. */
.list-btn[aria-current="true"] .thin{color:var(--ink-soft);}
td.nowrap,th.nowrap{white-space:nowrap;}
.receipt{display:flex;gap:var(--s3);justify-content:space-between;padding:var(--s2) 0;border-top:1px solid var(--rule);font-size:var(--t-sm);}
.receipt:first-child{border-top:none;}
.status{font-size:var(--t-xs);white-space:nowrap;}

/* ---------- dialog, menu, toast ---------- */
dialog{
  border:1px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);color:var(--ink);
  padding:0;box-shadow:0 24px 60px -24px rgba(0,0,0,.45);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);
}
dialog::backdrop{background:rgba(8,26,18,.42);}
.dlg-head{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s4) var(--s2);}
.dlg-head .close{margin-left:auto;color:var(--ink-soft);padding:2px;border-radius:var(--rad);}
.dlg-head .close:hover{background:var(--sunk);}
.dlg-body{padding:var(--s2) var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s3);overflow:auto;}
.dlg-foot{display:flex;gap:var(--s2);justify-content:flex-end;padding:var(--s3) var(--s4);border-top:1px solid var(--rule);}
.menu{position:relative;}
.menu-pop{
  position:absolute;z-index:30;bottom:calc(100% + 6px);left:0;min-width:260px;background:var(--surface);
  border:1px solid var(--rule);border-radius:var(--rad-lg);box-shadow:0 18px 40px -18px rgba(0,0,0,.4);padding:var(--s2);
}
.menu-pop[data-align="down"]{bottom:auto;top:calc(100% + 6px);right:0;left:auto;}
/* In the side rail the menu stays inside it: the rail scrolls, so anything wider is cut off (workspace names wrap). */
@media (min-width:941px){ .rail .menu-pop{min-width:0;right:0;} .rail .menu-pop .btn{white-space:normal;} }
.menu-pop [role="menuitem"],.menu-pop [role="menuitemradio"]{
  display:flex;gap:var(--s2);align-items:center;width:100%;text-align:left;padding:6px var(--s2);border-radius:var(--rad);font-size:var(--t-sm);
}
.menu-pop [role="menuitem"]:hover,.menu-pop [role="menuitemradio"]:hover,.menu-pop [role="menuitem"]:focus-visible,.menu-pop [role="menuitemradio"]:focus-visible{background:var(--sunk);outline:none;}
.menu-pop hr{border:none;border-top:1px solid var(--rule);margin:var(--s2) 0;}
.menu-pop .label{font-size:var(--t-xs);color:var(--ink-faint);padding:4px var(--s2);}
.toasts{position:fixed;right:var(--s4);bottom:var(--s4);display:flex;flex-direction:column;gap:var(--s2);z-index:60;max-width:380px;}
.toast{background:var(--ink);color:var(--paper);padding:var(--s2) var(--s3);border-radius:var(--rad);font-size:var(--t-sm);box-shadow:var(--shadow);display:flex;gap:var(--s3);align-items:center;}
.toast[data-tone="error"]{background:var(--attention);color:#fff;}
html[data-theme="dark"] .toast[data-tone="error"]{color:#2A0F1D;}
@media (prefers-reduced-motion:no-preference){
  .toast{animation:toast-in .18s ease-out;}
  @keyframes toast-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
}
.pre{white-space:pre-wrap;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-xs);background:var(--sunk);padding:var(--s3);border-radius:var(--rad);max-height:320px;overflow:auto;margin:0;}
.boot{display:grid;place-items:center;min-height:100vh;color:var(--ink-soft);gap:var(--s3);text-align:center;padding:var(--s5);}

/* ---------- QR feedback ---------- */
.presenter{padding:var(--s5);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);}
.presenter:fullscreen{justify-content:center;background:var(--paper);}
.presenter:fullscreen .qr{width:min(70vh,70vw);height:auto;}
.presenter-title{font-size:var(--t-2xl);}
.qr-frame{background:#fff;padding:var(--s2);border-radius:var(--rad-lg);border:1px solid var(--rule);margin:var(--s3) 0;line-height:0;}
.qr{display:block;max-width:100%;height:auto;}
.code-line{font-size:var(--t-lg);}
.big-code{font-size:var(--t-xl);letter-spacing:.18em;font-weight:600;}
.big-number{font-size:var(--t-2xl);font-weight:600;margin-top:var(--s3);}
.phone{border:8px solid var(--ink);border-radius:28px;max-width:340px;margin:0 auto;background:var(--surface);overflow:hidden;}
.phone-page{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);}
.phone-page h2{font-size:var(--t-xl);}
.phone-page .scores button{padding:12px 0;font-size:var(--t-lg);}
.phone-page button[type=submit]{justify-content:center;min-height:48px;font-size:var(--t-md);}

/* ---------- pulse checks ---------- */
.templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s3);}
.template{
  display:flex;flex-direction:column;gap:2px;padding:var(--s3);border:1px solid var(--rule);border-radius:var(--rad-lg);
  background:var(--surface);color:var(--ink);text-decoration:none;font-size:var(--t-sm);
}
.template:hover{border-color:var(--primary);background:var(--primary-soft);}
.template:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.template .sample{font-size:22px;line-height:1.2;margin-bottom:2px;color:var(--ink);}
.template b{font-weight:600;}
.qcard{border:1px solid var(--rule);border-radius:var(--rad);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);background:var(--paper);}
.qcard-head{display:flex;align-items:center;gap:2px;}
.kind-tag{font-size:var(--t-xs);color:var(--ink-soft);background:var(--sunk);border-radius:4px;padding:2px 6px;white-space:nowrap;}
.addq{display:flex;flex-wrap:wrap;gap:6px;}
.addq .btn{font-weight:400;}
.inline-check{display:flex;gap:8px;align-items:center;font-size:var(--t-sm);}
.inline-check > input{flex:none;}
.errors{margin:0;padding:var(--s2) var(--s3) var(--s2) var(--s5);border-radius:var(--rad);background:var(--attention-soft);color:var(--ink);font-size:var(--t-sm);}
.pulse-form{display:flex;flex-direction:column;gap:var(--s4);}
.pulse-form .prose{font-size:var(--t-sm);}
.pulse-form .q{display:flex;flex-direction:column;gap:var(--s2);}
.pulse-form .q:focus{outline:2px solid var(--attention);outline-offset:4px;border-radius:var(--rad);}
.pulse-form .q legend{color:var(--ink);font-size:var(--t-md);margin-bottom:var(--s2);}
.pulse-form .q legend b{font-weight:500;}
.pulse-form .send{align-self:flex-start;}
.faces,.lights,.likert{display:grid;gap:6px;}
.faces{grid-template-columns:repeat(5,minmax(0,1fr));}
.lights{grid-template-columns:repeat(3,minmax(0,1fr));}
.likert{grid-template-columns:repeat(5,minmax(0,1fr));}
.faces button,.lights button,.likert button{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:6px 4px;
  border:1px solid var(--rule-strong);border-radius:var(--rad);background:var(--surface);color:var(--ink);font-size:var(--t-sm);text-align:center;
}
.faces button:hover,.lights button:hover,.likert button:hover{background:var(--sunk);}
.faces .face,.lights .face{font-size:26px;line-height:1.1;}
.faces small,.lights small{font-size:var(--t-xs);color:var(--ink-soft);line-height:1.2;}
.faces button[aria-pressed="true"],.lights button[aria-pressed="true"],.likert button[aria-pressed="true"]{
  border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary);font-weight:600;
}
.faces button[aria-pressed="true"] small,.lights button[aria-pressed="true"] small{color:var(--ink);}
.pulse-count{font-size:var(--t-xl);font-weight:600;}
.pulse-mean{font-size:var(--t-sm);margin-bottom:var(--s2);}
.pulse-mean b{font-size:var(--t-xl);font-weight:600;margin-right:4px;}
table.dist{font-size:var(--t-sm);}
table.dist caption{text-align:left;padding-bottom:var(--s1);}
table.dist th{font-size:var(--t-sm);color:var(--ink);font-weight:400;border:none;padding:3px var(--s3) 3px 0;width:1%;}
table.dist td{border:none;padding:3px 0;}
table.dist td.num{padding-left:var(--s3);white-space:nowrap;color:var(--ink-soft);width:1%;}
table.dist .bar-cell{min-width:80px;}
.bar{display:block;height:10px;border-radius:5px;background:var(--sunk);overflow:hidden;}
.bar i{display:block;height:100%;border-radius:5px;min-width:2px;}
.bar.wide{max-width:320px;margin-bottom:var(--s1);}
.histo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;align-items:end;max-width:420px;}
.histo li{display:flex;flex-direction:column;align-items:center;gap:2px;}
.histo b{font-size:var(--t-xs);font-weight:600;min-height:1.2em;}
.histo .col{display:flex;align-items:flex-end;width:100%;height:56px;background:var(--sunk);border-radius:4px;overflow:hidden;}
.histo .col i{display:block;width:100%;border-radius:4px 4px 0 0;}
.histo small{font-size:var(--t-xs);color:var(--ink-soft);}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;}
.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--primary-soft);color:var(--ink);font-size:var(--t-sm);}
.chip .muted{color:var(--ink-soft);}
.answers{list-style:none;margin:0;padding:0;font-size:var(--t-sm);}
.answers li{padding:6px 0;border-top:1px solid var(--rule);}
.answers li:first-child{border-top:none;}
h3.mini,.pulse-retro h4{font-size:var(--t-sm);font-weight:600;margin:0 0 4px;}
table.named td{padding:var(--s2) var(--s3);font-size:var(--t-sm);}
table.named .clip{display:inline-block;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;}
.pulse-retro{padding:var(--s3) 0;border-top:1px solid var(--rule);}
.pulse-retro:first-child{border-top:none;padding-top:0;}
.pulse-outcome{margin-top:var(--s3);gap:var(--s4);}
.topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.topic-list li{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;}
.topic-list .btn-quiet{font-size:var(--t-xs);}
.nowrap{white-space:nowrap;}
@media (min-width:941px){ .builder-side{position:sticky;top:var(--s4);} }

/* ---------- responsive ---------- */
@media (max-width:940px){
  .app{grid-template-columns:1fr;}
  .rail{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;padding:var(--s2) var(--s3);gap:var(--s3);}
  .rail .nav{flex-direction:row;}
  .nav a{white-space:nowrap;}
  .nav-label,.nav-group .nav-label{display:none;}
  .nav-group{display:contents;}
  .rail-foot{margin-top:0;flex-direction:row;align-items:center;}
  .rail-foot .residency{display:none;}
  .who .who-text{display:none;}
  .main{padding:var(--s4);}
  .grid2,.cols,.grid-even{grid-template-columns:1fr;}
  .ribbon-scale,.ribbon-row{grid-template-columns:96px 1fr;}
  .menu-pop{bottom:auto;top:calc(100% + 6px);right:0;left:auto;}
}
@media (max-width:560px){
  /* 16px or more stops iOS Safari zooming the page when a field gets focus. */
  input,textarea,select{font-size:16px;}
  .scores{grid-template-columns:repeat(5,1fr);}
  .likert{grid-template-columns:1fr;}
  .likert button{flex-direction:row;justify-content:flex-start;padding:10px 12px;}
  .faces small{font-size:10.5px;}
  .pulse-form .send{align-self:stretch;justify-content:center;min-height:48px;font-size:var(--t-md);}
  .hours span[data-minor]{display:none;}
  .cer{align-items:center;padding:0 2px;min-width:32px;}
  .cer b,.cer i,.cer .ovl{display:none;}
  .cer .score{position:static;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
@media (forced-colors:active){
  .cer,.rbar,.spine{forced-color-adjust:none;}
}

/* ---------- onboarding: organisation setup, signup, operator console ---------- */
.grow{flex:1;min-width:0;}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere;}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.checklist li{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);}
.checklist .tick{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--rule-strong);color:var(--primary-ink);flex:none;}
.checklist li[data-done="true"] .tick{background:var(--primary-soft);border-color:var(--primary);}
.person-name{font-weight:500;}
table.org-people td{vertical-align:top;}
table.org-people tr[data-inactive] td{color:var(--ink-soft);}
table.org-people .inline-check{margin:0 0 2px;}
.org-team{padding:var(--s3) 0;border-top:1px solid var(--rule);}
.org-team:first-of-type{border-top:none;padding-top:0;}
.org-team-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s2);}
.org-team-head h3{font-size:var(--t-md);margin:0;}
.org-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.org-members li{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);}
.org-members select{max-width:160px;}
.org-add-member{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s2);}
.org-add-member select{flex:1;min-width:120px;}
/* ---------- the menu's team and a team's members (README §Decisions 138) ---------- */
.team-switch{width:100%;}
.team-switch-btn{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--shadow);}
.team-switch-btn:hover{border-color:var(--primary);}
.team-switch-btn[aria-expanded="true"]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.team-switch-btn>.glyph:first-child{color:var(--primary-ink);}
.team-switch-btn>.glyph:last-child{width:14px;height:14px;color:var(--ink-soft);transition:transform .15s;}
.team-switch-btn[aria-expanded="true"]>.glyph:last-child{transform:rotate(180deg);}
.team-switch-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25;}
.team-switch-text small{font-size:11.5px;color:var(--ink-soft);}
.team-switch-text b{font-weight:700;font-size:var(--t-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.menu-pop.team-switch-pop{left:0;right:0;max-height:min(60vh,420px);overflow-y:auto;}
.team-switch-pop [role="menuitemradio"] .grow{flex:1;min-width:0;}
.team-switch-pop [role="menuitemradio"][aria-checked="true"]{font-weight:700;color:var(--primary-ink);}
.team-switch-pop .glyph{width:15px;height:15px;}
/* What waits in the person's other teams (README §Decisions 140). */
.team-switch .badge{flex:none;background:var(--attention);color:#fff;font-size:11.5px;font-weight:700;padding:0 7px;line-height:18px;border-radius:999px;min-width:20px;text-align:center;}
html[data-theme="dark"] .team-switch .badge{color:#2A0F1D;}
.pi-focus{gap:var(--s3);align-items:center;flex-wrap:wrap;}
.team-switch-pop .tsw-hint{margin:0;padding:0 var(--s2) 6px;font-size:var(--t-xs);color:var(--ink-soft);line-height:1.35;}
@media (max-width:940px){
  .team-switch{width:auto;flex:none;}
  .team-switch-btn{padding:5px 9px;box-shadow:none;}
  .team-switch-text small{display:none;}
  .team-switch-text b{max-width:9rem;font-size:var(--t-sm);}
  .menu-pop.team-switch-pop{position:fixed;left:var(--s3);right:var(--s3);top:var(--pop-top,64px);min-width:0;}
}
.tm-list{list-style:none;margin:0;padding:0;}
.tm-list li{display:flex;align-items:center;gap:var(--s3);padding:8px 0;border-top:1px solid var(--rule);font-size:var(--t-sm);}
.tm-list li:first-child{border-top:none;padding-top:0;}
.tm-who{display:flex;flex-direction:column;min-width:0;flex:1;}
.tm-who b{font-weight:600;overflow:hidden;text-overflow:ellipsis;}
.tm-role{text-align:right;}
.tm-manage{display:flex;align-items:center;gap:2px;flex:none;}
.tm-manage select{max-width:150px;}
.tm-add{display:flex;flex-direction:column;gap:var(--s4);margin-top:var(--s3);padding-top:var(--s4);border-top:1px solid var(--rule);}
.tm-add h3{font-size:var(--t-sm);font-weight:700;margin:0 0 var(--s2);}
.tm-add .oj-inline{max-width:none;}
.tm-ask{margin:var(--s3) 0 0;}
.tm-outside{max-width:760px;}
.set-actions{gap:var(--s3);align-items:center;flex-wrap:wrap;}
.tm-check{align-items:flex-start;}
.tm-check input{margin-top:3px;}
@media (max-width:560px){
  .tm-list li{flex-wrap:wrap;}
  .tm-manage{margin-left:40px;}
}
.org-csv{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--t-sm);}
.org-template{margin:0;padding:var(--s2) var(--s3);background:var(--sunk);border-radius:var(--rad);font-size:var(--t-xs);overflow-x:auto;white-space:pre;}
.errors ul{margin:4px 0 0;padding-left:var(--s4);}
.app-bare{display:block;min-height:100vh;}
.signup .signup-card{max-width:560px;margin:6vh auto;padding:var(--s5);}
.signup h1{font-size:var(--t-xl);}
.signup h2{font-size:var(--t-md);margin:0;}
.signup h3{font-size:var(--t-sm);margin:0;}
.signup-row{gap:var(--s3);}
.signup-accept{align-items:flex-start;}
.signup-accept input{margin-top:3px;}
.signup-sm{border:1px solid var(--rule);border-radius:var(--rad);padding:var(--s3);margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.org-sharing{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin:0 0 var(--s2);}
.org-sharing .inline-check{align-items:flex-start;}
.signup-sm legend{font-weight:600;padding:0 4px;}
.signup-sm .inline-check{align-items:flex-start;}
.signup-sm .inline-check input{margin-top:3px;}
.signup-error{color:var(--attention);background:var(--attention-soft);padding:var(--s2) var(--s3);border-radius:var(--rad);font-size:var(--t-sm);}
.signup-foot{margin-top:var(--s3);}
.ops{max-width:1240px;margin:0 auto;padding:var(--s5);}
.ops-head{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3);}
.ops-head h1{font-size:var(--t-lg);margin:0;}
.ops-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:var(--s4);align-items:start;}
.ops-actions{display:flex;flex-wrap:wrap;gap:2px 6px;}
.ops-dir{font-size:var(--t-xs);}
@media (max-width:900px){.ops-grid{grid-template-columns:1fr;}.ops{padding:var(--s3);}}
/* Grid columns may shrink below their widest table; the table scrolls inside .table-wrap instead of the page. */
.grid2 > *, .grid-even > *, .ops-grid > * { min-width: 0; }
.btn-inline{padding:0 4px;min-height:0;font-size:var(--t-xs);vertical-align:baseline;}
.verify{border-color:var(--warn);}
.verify-ways{gap:var(--s4);align-items:start;}
.verify-ways h3.mini{margin-bottom:2px;}
.dns-record{display:grid;grid-template-columns:auto 1fr;gap:2px var(--s3);margin:var(--s2) 0;font-size:var(--t-sm);}
.dns-record dt{color:var(--ink-soft);}
.dns-record dd{margin:0;}

/* ---------- the Team Canvas (README §Decisions 29) ---------- */
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tc-start{gap:var(--s4);margin-top:var(--s3);}
.tc-start-card{border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s4);background:var(--surface);display:flex;flex-direction:column;gap:var(--s2);align-items:flex-start;}
.tc-start-card h3{margin:0;}
.tc-board{display:flex;flex-direction:column;gap:var(--s3);}
.tc-row{display:grid;gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));}
.tc-row[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}
.tc-row-label{margin:0;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);text-align:center;}
.tc-block,.tc-purpose{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--tc-accent,var(--primary));border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);min-width:0;}
.tc-block[data-accent="teal"]{--tc-accent:var(--primary);}
.tc-block[data-accent="good"]{--tc-accent:var(--r-good);}
.tc-block[data-accent="mid"]{--tc-accent:var(--r-mid);}
.tc-block[data-accent="warn"]{--tc-accent:var(--warn);}
.tc-block[data-accent="coral"]{--tc-accent:var(--attention);}
.tc-block[data-accent="violet"]{--tc-accent:var(--r-ok);}
.tc-block[data-accent="ink"]{--tc-accent:var(--ink-soft);}
.tc-block[data-silent],.tc-purpose[data-silent]{box-shadow:0 0 0 2px var(--warn);}
.tc-block header h3,.tc-purpose header h3{margin:0;font-size:var(--t-md);display:flex;align-items:center;gap:var(--s2);}
.tc-block header p,.tc-purpose header p{margin:2px 0 0;}
.tc-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--sunk);color:var(--ink-soft);font-size:var(--t-xs);font-weight:600;flex:none;}
.tc-q{font-size:var(--t-xs);color:var(--ink-soft);font-style:italic;}
.tc-purpose{border-top-color:var(--primary);background:var(--primary-soft);}
.tc-purpose header h3{color:var(--primary-ink);}
.tc-purpose-statement{padding:var(--s2) 0;}
.tc-purpose-text{font-size:var(--t-lg);font-weight:500;color:var(--primary-ink);margin:0 0 var(--s2);line-height:1.35;}
.tc-prefill{border:1px dashed var(--rule-strong);border-radius:var(--rad);padding:var(--s2);background:var(--sunk);font-size:var(--t-xs);}
.tc-prefill ul{margin:4px 0 0;padding-left:var(--s4);}
.tc-from{font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:10px;}
.tc-notes{display:flex;flex-direction:column;gap:var(--s2);}
.tc-stickies{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.tc-sticky{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--tc-accent,var(--primary));border-radius:var(--rad);padding:6px 8px;font-size:var(--t-sm);display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow);}
.tc-purpose .tc-sticky{--tc-accent:var(--primary);}
.tc-sticky[data-hidden]{border-style:dashed;opacity:.85;}
.tc-sticky-text{white-space:pre-wrap;overflow-wrap:anywhere;}
.tc-hidden-note{font-size:var(--t-xs);color:var(--ink-soft);}
.tc-sticky-tools{display:flex;gap:4px;justify-content:flex-end;}
.tc-sticky-tools .btn{padding:2px 6px;font-size:var(--t-xs);}
.tc-sticky textarea{width:100%;font:inherit;}
.tc-waiting{margin:0;font-size:var(--t-xs);color:var(--ink-soft);font-style:italic;}
.tc-empty{margin:0;}
.tc-add{display:flex;flex-direction:column;gap:4px;}
.tc-add textarea{width:100%;font:inherit;font-size:var(--t-sm);resize:vertical;min-height:44px;}
.tc-add .btn{align-self:flex-start;}
.tc-silent{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;justify-content:space-between;padding:var(--s2) var(--s3);border:1px solid var(--warn);background:var(--warn-soft);border-radius:var(--rad);font-size:var(--t-sm);}
.tc-clock{font-variant-numeric:tabular-nums;}
.tc-facilitate{gap:var(--s4);align-items:start;}
@media (max-width:1100px){.tc-row,.tc-row[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.tc-row,.tc-row[data-count="3"]{grid-template-columns:minmax(0,1fr);}}
/* Grey helper text is too faint on the purpose band's tint (4.19:1); the band's own ink passes in both themes. */
.tc-purpose .thin,.tc-purpose .tc-q,.tc-purpose .tc-waiting,.tc-purpose .tc-hidden-note{color:var(--primary-ink);}

/* ---------- the Agile Maturity Scan (README §Decisions 30) ---------- */
.radar{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--s2);}
.radar svg{width:100%;max-width:680px;height:auto;overflow:visible;}
.radar-ring{fill:none;stroke:var(--rule);stroke-width:.6;}
.radar-level{stroke:var(--rule-strong);stroke-width:1.1;}
.radar-spoke{stroke:var(--rule);stroke-width:.8;}
.radar-tick{fill:var(--ink-soft);font-size:10px;}
.radar-hub{fill:var(--surface);stroke:var(--ink-soft);stroke-width:1.2;}
.radar-marker{fill:var(--surface);stroke:var(--ink-soft);stroke-width:1.1;}
.radar-label text{fill:var(--ink);font-style:italic;}
.radar-series polygon{stroke-width:2;stroke-linejoin:round;}
.radar-series circle{stroke:var(--surface);stroke-width:1;}
.radar-survey polygon{fill:var(--primary);fill-opacity:.2;stroke:var(--primary);}
.radar-survey circle{fill:var(--primary);}
.radar-observed polygon{fill:var(--attention);fill-opacity:.12;stroke:var(--attention);stroke-dasharray:0;}
.radar-observed circle{fill:var(--attention);}
.radar-baseline polygon{fill:none;stroke:var(--ink-soft);stroke-dasharray:5 4;}
.radar-baseline circle{fill:var(--ink-soft);}
.radar-legend{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;font-size:var(--t-sm);}
.radar-key{display:inline-flex;align-items:center;gap:6px;}
.radar-key i{display:inline-block;width:14px;height:10px;border-radius:3px;border:2px solid;}
.radar-key.radar-survey i{background:var(--primary-soft);border-color:var(--primary);}
.radar-key.radar-observed i{background:var(--attention-soft);border-color:var(--attention);}
.radar-key.radar-baseline i{border-style:dashed;border-color:var(--ink-soft);}
.ms-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s3);}
.ms-card{display:flex;flex-direction:column;gap:4px;padding:var(--s3);border:1px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s, box-shadow .15s;}
.ms-card:hover{border-color:var(--primary);box-shadow:var(--shadow);}
.ms-card-big{font-size:var(--t-lg);font-weight:600;margin-top:var(--s2);}
.ms-status{align-self:flex-start;font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-soft);}
.ms-status[data-status="open"]{background:var(--primary-soft);color:var(--primary-ink);}
.ms-status[data-status="published"]{background:var(--warn-soft);color:var(--ink);}
.ms-teampick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px var(--s3);margin:var(--s2) 0;}
.ms-kpis{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:stretch;}
.ms-kpi{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px;padding:var(--s3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);border-left:4px solid var(--primary);}
.ms-kpi b{font-size:var(--t-xl);font-weight:650;line-height:1.1;}
.ms-kpi small{font-size:var(--t-sm);color:var(--ink-soft);font-weight:400;}
.ms-kpis > .ms-status{align-self:center;font-size:var(--t-sm);padding:6px 12px;}
.ms-kpi[data-level="1"]{border-left-color:var(--r-poor);}
.ms-kpi[data-level="2"]{border-left-color:var(--r-low);}
.ms-kpi[data-level="3"]{border-left-color:var(--r-ok);}
.ms-kpi[data-level="4"]{border-left-color:var(--r-good);}
.ms-tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule);overflow-x:auto;}
.ms-tabs button{font:inherit;background:none;border:0;border-bottom:3px solid transparent;padding:var(--s2) var(--s3);color:var(--ink-soft);cursor:pointer;white-space:nowrap;}
.ms-tabs button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--primary);font-weight:600;}
.ms-insights{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
.ms-insights > .ms-extremes,.ms-insights > .grid-even{grid-column:1/-1;}
.ms-radar-panel{display:flex;flex-direction:column;gap:var(--s3);}
.ms-radar-tools{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:flex-end;justify-content:space-between;}
.ms-radar-tools .seg button{font-size:var(--t-sm);}
.ms-scorecard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);}
.ms-dim{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--ink-soft);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:4px;}
.ms-dim[data-level="1"]{border-top-color:var(--r-poor);}
.ms-dim[data-level="2"]{border-top-color:var(--r-low);}
.ms-dim[data-level="3"]{border-top-color:var(--r-ok);}
.ms-dim[data-level="4"]{border-top-color:var(--r-good);}
.ms-dim header{display:flex;justify-content:space-between;gap:var(--s2);align-items:flex-start;flex-wrap:wrap;}
.ms-dim h3{margin:0;font-size:var(--t-md);}
.ms-dim p{margin:0;}
.ms-dim-score{font-size:34px;font-weight:700;line-height:1;margin:var(--s2) 0 0 !important;font-variant-numeric:tabular-nums;}
.ms-dim-score small{font-size:var(--t-sm);font-weight:400;color:var(--ink-soft);margin-left:2px;}
.ms-level{font-size:var(--t-sm);font-weight:600;}
.ms-bars{display:flex;flex-direction:column;gap:3px;margin:4px 0;}
.ms-bar{display:block;height:6px;border-radius:3px;}
.ms-bar-survey{background:var(--primary);}
.ms-bar-observed{background:var(--attention);}
.ms-melon{font-size:var(--t-xs);font-weight:600;background:var(--attention-soft);color:var(--ink);padding:2px 8px;border-radius:999px;}
p.ms-melon{border-radius:var(--rad);padding:6px 10px;}
.ms-statements,.ms-quotes{margin:0;padding-left:var(--s4);display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);}
.ms-statements b{display:inline-block;min-width:2.2em;font-variant-numeric:tabular-nums;}
.ms-quotes{list-style:none;padding:0;}
.ms-quotes li{padding:6px 10px;border-left:3px solid var(--rule-strong);background:var(--sunk);border-radius:0 var(--rad) var(--rad) 0;}
.ms-key ol{columns:2;column-gap:var(--s4);font-size:var(--t-xs);padding-left:var(--s4);}
.ms-key li{break-inside:avoid;margin-bottom:4px;}
.ms-empty{font-size:var(--t-md);}
.ms-observe{display:flex;flex-direction:column;gap:var(--s3);}
.ms-obs-row{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1.4fr) auto;gap:var(--s3);align-items:center;padding-bottom:var(--s3);border-bottom:1px solid var(--rule);}
.ms-obs-row:last-child{border-bottom:0;padding-bottom:0;}
.ms-obs-row h4{margin:0;}
.ms-obs-row p{margin:2px 0 0;}
.ms-obs-row textarea{width:100%;font:inherit;font-size:var(--t-sm);}
.ms-obs-scale button{min-width:36px;}
.ms-h2{font-size:var(--t-lg);margin:var(--s2) 0 0;}
.ms-strengths{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s2);}
.ms-strength{display:flex;gap:var(--s3);align-items:baseline;padding:var(--s2) var(--s3);background:var(--primary-soft);border-radius:var(--rad-lg);color:var(--primary-ink);}
.ms-strength span{font-weight:700;font-variant-numeric:tabular-nums;}
.ms-plan{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s3);}
.ms-focus{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s4);display:flex;flex-direction:column;gap:6px;border-left:5px solid var(--ink-soft);}
.ms-focus[data-level="1"]{border-left-color:var(--r-poor);}
.ms-focus[data-level="2"]{border-left-color:var(--r-low);}
.ms-focus[data-level="3"]{border-left-color:var(--r-ok);}
.ms-focus[data-level="4"]{border-left-color:var(--r-good);}
.ms-focus[data-picked]{box-shadow:0 0 0 2px var(--primary);}
.ms-focus header{display:flex;gap:var(--s3);align-items:flex-start;}
.ms-focus header > div{flex:1;min-width:0;}
.ms-focus h3{margin:0;font-size:var(--t-md);}
.ms-focus h4{margin:var(--s2) 0 0;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.ms-focus p,.ms-focus ol{margin:0;font-size:var(--t-sm);}
.ms-focus ol{padding-left:var(--s4);display:flex;flex-direction:column;gap:4px;}
.ms-focus .btn{align-self:flex-start;margin-top:var(--s2);}
.ms-rank{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:700;flex:none;}
.ms-suggested{font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-ink);white-space:nowrap;}
.ms-invite{align-items:start;gap:var(--s4);}
.ms-links ul{list-style:none;padding:0;margin:var(--s2) 0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;}
.ms-links code{font-size:var(--t-xs);overflow-wrap:anywhere;}
.ms-form{max-width:760px;}
.ms-progress{height:8px;border-radius:4px;background:var(--sunk);overflow:hidden;}
.ms-progress span{display:block;height:100%;background:var(--primary);border-radius:4px;transition:width .2s;}
.ms-form-dim{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);}
.ms-form-dim h3{margin:0;}
.ms-form-dim > p{margin:0;}
.ms-q{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.ms-q legend{font-weight:500;padding:0;margin-bottom:var(--s2);}
.ms-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:6px;}
.ms-scale button{font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--rule-strong);border-radius:var(--rad);background:var(--paper);color:var(--ink);cursor:pointer;min-height:48px;}
.ms-scale button b{font-size:var(--t-md);}
.ms-scale button span{font-size:var(--t-xs);color:var(--ink-soft);}
.ms-scale button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--paper);}
.ms-scale button[aria-pressed="true"] span{color:var(--paper);}
.ms-scale .ms-dk{font-size:var(--t-xs);padding:8px 10px;justify-content:center;}
.ms-thanks{display:flex;flex-direction:column;gap:var(--s2);}
.ms-thanks-title{font-size:var(--t-lg);font-weight:600;margin:0;}
.ms-tips{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.ms-tips li{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s2) var(--s3);background:var(--warn-soft);border-radius:var(--rad);font-size:var(--t-sm);}
.ms-external{max-width:760px;margin:0 auto;padding:var(--s4);}
@media (max-width:1000px){.ms-insights{grid-template-columns:minmax(0,1fr);}.ms-obs-row{grid-template-columns:minmax(0,1fr);}}
@media (max-width:560px){.ms-scorecard{grid-template-columns:minmax(0,1fr);}.ms-scale{grid-template-columns:repeat(4,minmax(0,1fr));}.ms-scale .ms-dk{grid-column:1/-1;}.ms-key ol{columns:1;}}

/* ---------- PI Planning (README §Decisions 31) ---------- */
[data-color="teal"]{--c:#0f766e;}[data-color="violet"]{--c:#6d28d9;}[data-color="amber"]{--c:#b45309;}[data-color="coral"]{--c:#c2410c;}
[data-color="blue"]{--c:#1d4ed8;}[data-color="green"]{--c:#15803d;}[data-color="pink"]{--c:#be185d;}[data-color="slate"]{--c:#475569;}
:root[data-theme="dark"] [data-color="teal"]{--c:#2dd4bf;}:root[data-theme="dark"] [data-color="violet"]{--c:#a78bfa;}:root[data-theme="dark"] [data-color="amber"]{--c:#fbbf24;}
:root[data-theme="dark"] [data-color="coral"]{--c:#fb923c;}:root[data-theme="dark"] [data-color="blue"]{--c:#60a5fa;}:root[data-theme="dark"] [data-color="green"]{--c:#4ade80;}
:root[data-theme="dark"] [data-color="pink"]{--c:#f472b6;}:root[data-theme="dark"] [data-color="slate"]{--c:#94a3b8;}
.pi-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3);}
.pi-card{display:flex;flex-direction:column;gap:6px;padding:var(--s3);border:1px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.pi-card:hover{border-color:var(--primary);box-shadow:var(--shadow);}
.pi-mini{display:flex;gap:3px;margin:4px 0;}
.pi-mini i{flex:1;height:8px;border-radius:2px;background:var(--primary-soft);border:1px solid var(--primary);}
.pi-mini i:last-child{background:var(--warn-soft);border-color:var(--warn);}
.pi-status{align-self:flex-start;font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-soft);}
.pi-status[data-status="running"]{background:var(--primary-soft);color:var(--primary-ink);}
.pi-status[data-status="done"]{background:var(--warn-soft);color:var(--ink);}
.pi-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s2);}
.pi-template{font:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;padding:var(--s3);border:2px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);color:var(--ink);cursor:pointer;}
.pi-template span{font-size:var(--t-sm);color:var(--ink-soft);}
.pi-template[aria-checked="true"]{border-color:var(--primary);background:var(--primary-soft);}
.pi-template[aria-checked="true"] span{color:var(--primary-ink);}
.pi-teampick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px var(--s3);margin-bottom:var(--s2);}
.pi-timeline{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;}
.pi-seg{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--rule);border-top:5px solid var(--primary);border-radius:var(--rad);position:relative;font-size:var(--t-sm);}
.pi-seg[data-ip]{border-top-color:var(--warn);background:var(--warn-soft);}
.pi-seg[data-past]{opacity:.7;}
.pi-seg[data-now]{box-shadow:0 0 0 2px var(--primary);}
.pi-seg span{color:var(--ink-soft);font-size:var(--t-xs);}
.pi-seg em{position:absolute;top:-12px;right:8px;font-style:normal;font-size:var(--t-xs);font-weight:700;background:var(--primary);color:var(--paper);padding:1px 8px;border-radius:999px;}
.pi-tabs{display:flex;gap:2px;border-bottom:1px solid var(--rule);overflow-x:auto;}
.pi-tabs button{font:inherit;background:none;border:0;border-bottom:3px solid transparent;padding:var(--s2) var(--s3);color:var(--ink-soft);cursor:pointer;white-space:nowrap;}
.pi-tabs button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--primary);font-weight:600;}
.pi-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s3);}
.pi-kpi{display:flex;flex-direction:column;gap:2px;padding:var(--s3);background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--primary);border-radius:var(--rad-lg);}
.pi-kpi b{font-size:var(--t-xl);font-weight:650;line-height:1.1;}
.pi-kpi small{font-size:var(--t-sm);color:var(--ink-soft);font-weight:400;}
.pi-kpi[data-alert]{border-left-color:var(--attention);}
.pi-heat{display:grid;gap:4px;align-items:center;overflow-x:auto;}
.pi-heat-head{font-size:var(--t-xs);color:var(--ink-soft);text-align:center;}
.pi-heat-cell{text-align:center;font-size:var(--t-xs);font-variant-numeric:tabular-nums;padding:8px 2px;border-radius:var(--rad);background:var(--sunk);color:var(--ink);}
.pi-heat-cell[data-band="ok"]{background:var(--primary-soft);}
.pi-heat-cell[data-band="full"]{background:var(--warn-soft);}
.pi-heat-cell[data-band="over"]{background:var(--attention-soft);font-weight:700;}
.pi-team-name{border-left:4px solid var(--c,var(--primary));padding-left:8px;font-weight:600;display:flex;flex-direction:column;gap:2px;}
.pi-team-name small{font-weight:400;color:var(--ink-soft);font-size:var(--t-xs);}
.pi-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s3);}
.pi-section{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--primary);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.pi-section h3{margin:0;font-size:var(--t-md);}
.pi-section textarea,.pi-section input{width:100%;font:inherit;}
.pi-body{margin:0;white-space:pre-wrap;font-size:var(--t-sm);}
.pi-tools{display:flex;gap:2px;flex-wrap:wrap;}
.pi-tools .btn{padding:2px 8px;font-size:var(--t-xs);}
.pi-teams{display:flex;flex-direction:column;gap:var(--s2);}
.pi-team-row{display:grid;grid-template-columns:minmax(160px,220px) 1fr auto;gap:var(--s3);align-items:center;}
.pi-cap-inputs{display:flex;gap:4px;flex-wrap:wrap;}
.pi-cap-inputs label{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--t-xs);}
.pi-cap-inputs input{width:58px;text-align:center;}
.pi-now{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s3);align-items:center;padding:var(--s3) var(--s4);border-radius:var(--rad-lg);background:var(--primary);color:var(--paper);}
.pi-now[data-over]{background:var(--attention);}
.pi-now-label{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.pi-now b{font-size:var(--t-lg);}
.pi-clock{font-size:var(--t-xl);font-weight:700;font-variant-numeric:tabular-nums;}
.pi-now-bar{grid-column:1/-1;height:6px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden;}
.pi-now-bar i{display:block;height:100%;background:var(--paper);}
.pi-days{display:grid;gap:var(--s3);overflow-x:auto;align-items:start;}
.pi-day{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.pi-day header{display:flex;justify-content:space-between;align-items:baseline;}
.pi-day h3{margin:0;}
.pi-day input{flex:1;min-width:0;}
.pi-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.pi-slot{display:flex;gap:var(--s2);padding:6px 8px;border-radius:var(--rad);background:var(--sunk);border-left:4px solid var(--rule-strong);}
.pi-slot[data-running]{background:var(--primary-soft);border-left-color:var(--primary);}
.pi-slot-time{font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--ink-soft);min-width:40px;padding-top:2px;}
.pi-slot-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.pi-slot-body b{font-weight:500;font-size:var(--t-sm);}
.pi-board-scroll{overflow-x:auto;padding-bottom:var(--s2);}
.pi-board{display:grid;gap:6px;position:relative;min-width:max-content;}
.pi-board-corner{}
.pi-board-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:var(--rad);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--t-sm);}
.pi-board-head small{font-size:var(--t-xs);}
.pi-board-head[data-ip]{background:var(--warn-soft);color:var(--ink);}
.pi-board-head[data-now]{box-shadow:inset 0 0 0 2px var(--primary);}
.pi-row-label{align-self:stretch;display:flex;align-items:center;font-size:var(--t-sm);padding:var(--s2);background:var(--surface);border-radius:var(--rad);}
.pi-ms-label{color:var(--ink-soft);font-weight:600;}
.pi-ms-cell{display:flex;flex-direction:column;gap:4px;padding:4px;border-radius:var(--rad);background:var(--sunk);min-height:36px;}
.pi-ms{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:var(--t-xs);font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--warn);}
.pi-cell{display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:var(--rad);background:var(--sunk);min-height:90px;border:1px solid transparent;}
.pi-cell[data-overload]{border-color:var(--attention);}
.pi-load{display:block;position:relative;height:16px;border-radius:8px;background:var(--surface);overflow:hidden;}
.pi-load i{position:absolute;inset:0 auto 0 0;background:var(--primary-soft);border-right:2px solid var(--primary);}
.pi-cell[data-overload] .pi-load i{background:var(--attention-soft);border-right-color:var(--attention);}
.pi-load small{position:relative;display:block;text-align:center;font-size:10px;line-height:16px;color:var(--ink);font-variant-numeric:tabular-nums;}
.pi-card-item{font:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:var(--rad);background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--primary);box-shadow:var(--shadow);cursor:pointer;color:var(--ink);position:relative;z-index:2;}
.pi-card-item:disabled{cursor:default;}
.pi-card-item[data-type="enabler"]{border-left-color:var(--warn);}
.pi-card-item[data-type="story"]{border-left-color:var(--ink-soft);}
.pi-card-title{font-size:var(--t-sm);font-weight:500;line-height:1.25;}
.pi-card-meta{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.pi-size{margin-left:auto;background:var(--sunk);color:var(--ink);border-radius:999px;padding:0 6px;font-weight:700;}
.pi-deps{color:var(--attention);font-weight:700;}
.pi-add{font:inherit;border:1px dashed var(--rule-strong);background:none;border-radius:var(--rad);color:var(--ink-soft);cursor:pointer;padding:4px;}
.pi-add:hover{border-color:var(--primary);color:var(--primary-ink);}
.pi-add-ms{padding:0;font-size:var(--t-xs);}
.pi-x{background:none;border:0;cursor:pointer;color:var(--ink-soft);font-size:var(--t-md);line-height:1;padding:0 4px;}
.pi-strings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;}
.pi-string{fill:none;stroke-width:2.2;}
.pi-dep-open{stroke:var(--attention);fill:var(--attention);}
path.pi-string.pi-dep-open,path.pi-string.pi-dep-agreed,path.pi-string.pi-dep-blocked,path.pi-string.pi-dep-done{fill:none;}
.pi-dep-agreed{stroke:var(--primary);fill:var(--primary);}
.pi-dep-blocked{stroke:var(--attention);fill:var(--attention);stroke-dasharray:6 4;}
.pi-dep-done{stroke:var(--ink-soft);fill:var(--ink-soft);opacity:.6;}
.pi-backlog{display:flex;flex-wrap:wrap;gap:var(--s2);}
.pi-backlog .pi-card-item{width:200px;}
.pi-objectives{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3);align-items:start;}
.pi-obj-col{display:flex;flex-direction:column;gap:var(--s2);background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);}
.pi-obj-col header{margin-bottom:var(--s2);}
.pi-obj-col input{flex:1;min-width:0;}
.pi-obj{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--rule-strong);border-radius:var(--rad);padding:8px;display:flex;flex-direction:column;gap:6px;}
.pi-obj[data-committed]{border-left-color:var(--primary);}
.pi-obj p{margin:0;font-size:var(--t-sm);}
.pi-obj-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--t-xs);}
.pi-chip{font:inherit;font-size:var(--t-xs);padding:2px 8px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer;}
.pi-chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--paper);}
.pi-bv{display:inline-flex;align-items:center;gap:4px;}
.pi-bv select{padding:2px 4px;font-size:var(--t-xs);}
.pi-roam{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:var(--s3);overflow-x:auto;align-items:start;}
.pi-roam-col{background:var(--sunk);border-radius:var(--rad-lg);padding:var(--s2);display:flex;flex-direction:column;gap:var(--s2);border-top:4px solid var(--rule-strong);min-height:140px;}
.pi-roam-col[data-roam="none"]{border-top-color:var(--attention);}
.pi-roam-col[data-roam="resolved"]{border-top-color:var(--r-good);}
.pi-roam-col[data-roam="owned"]{border-top-color:var(--primary);}
.pi-roam-col[data-roam="accepted"]{border-top-color:var(--warn);}
.pi-roam-col[data-roam="mitigated"]{border-top-color:var(--r-ok);}
.pi-roam-col header{display:flex;align-items:center;gap:var(--s2);position:relative;padding-right:28px;}
.pi-roam-col header div{display:flex;flex-direction:column;gap:1px;min-width:0;}
.pi-roam-col header small{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-count{position:absolute;right:0;top:0;font-weight:700;background:var(--surface);border-radius:999px;padding:0 8px;}
.pi-risk{background:var(--paper);border:1px solid var(--rule);border-radius:var(--rad);padding:8px;display:flex;flex-direction:column;gap:6px;border-left:4px solid var(--warn);}
.pi-risk[data-band="high"]{border-left-color:var(--attention);}
.pi-risk[data-band="low"]{border-left-color:var(--r-good);}
.pi-risk[draggable="true"]{cursor:grab;}
.pi-risk p{margin:0;font-size:var(--t-sm);}
.pi-votes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3);}
.pi-vote{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.pi-vote[data-art]{border:2px solid var(--primary);}
.pi-vote header{display:flex;justify-content:space-between;align-items:baseline;}
.pi-vote-result{margin:0;font-weight:600;}
.pi-vote-result[data-commit]{color:var(--primary-ink);}
.pi-hist{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;height:110px;align-items:end;}
.pi-hist span{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:2px;}
.pi-hist i{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--primary);}
.pi-hist span[data-score="1"] i{background:var(--r-poor);}.pi-hist span[data-score="2"] i{background:var(--r-low);}.pi-hist span[data-score="3"] i{background:var(--r-mid);}.pi-hist span[data-score="4"] i{background:var(--r-ok);}.pi-hist span[data-score="5"] i{background:var(--r-good);}
.pi-hist small{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-fist{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;}
.pi-fist button{font:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;border:1px solid var(--rule-strong);border-radius:var(--rad);background:var(--paper);color:var(--ink);cursor:pointer;}
.pi-fist button b{font-size:var(--t-lg);}
.pi-fist button span{font-size:9px;color:var(--ink-soft);text-align:center;line-height:1.1;}
.pi-fist button:hover{border-color:var(--primary);}
.pi-eval-top{align-items:start;gap:var(--s4);}
.pi-pred svg{width:100%;height:auto;}
.pi-band{fill:var(--primary-soft);}
.pi-grid{stroke:var(--rule);stroke-width:1;}
.pi-axis{fill:var(--ink-soft);font-size:11px;}
.pi-axis-label{fill:var(--ink);font-size:12px;}
.pi-bar{fill:var(--c,var(--primary));opacity:.85;}
.pi-bar-teal{--c:#0f766e;}.pi-bar-violet{--c:#6d28d9;}.pi-bar-amber{--c:#b45309;}.pi-bar-coral{--c:#c2410c;}.pi-bar-blue{--c:#1d4ed8;}.pi-bar-green{--c:#15803d;}.pi-bar-pink{--c:#be185d;}.pi-bar-slate{--c:#475569;}
.pi-stacked-wrap{display:flex;flex-direction:column;gap:var(--s2);}
.pi-stacked{display:flex;height:18px;border-radius:9px;overflow:hidden;background:var(--sunk);}
.pi-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px var(--s3);font-size:var(--t-xs);}
.pi-legend li{display:flex;align-items:center;gap:4px;}
.pi-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;}
[data-part="none"]{background:var(--attention);}[data-part="resolved"]{background:var(--r-good);}[data-part="owned"]{background:var(--primary);}[data-part="accepted"]{background:var(--warn);}[data-part="mitigated"]{background:var(--r-ok);}
[data-part="open"]{background:var(--attention);}[data-part="agreed"]{background:var(--primary);}[data-part="blocked"]{background:var(--r-poor);}[data-part="done"]{background:var(--ink-soft);}[data-part="empty"]{background:var(--sunk);}
.pi-h2{font-size:var(--t-lg);margin:var(--s2) 0 0;}
.pi-retro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);align-items:start;}
.pi-retro-col{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--primary);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.pi-retro-col[data-col="better"]{border-top-color:var(--attention);}
.pi-retro-col[data-col="try"]{border-top-color:var(--warn);}
.pi-retro-col h3{margin:0;font-size:var(--t-md);}
.pi-retro-col input{flex:1;min-width:0;}
.pi-note{margin:0;display:flex;justify-content:space-between;gap:4px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--rad);padding:6px 8px;font-size:var(--t-sm);}
@media (max-width:900px){.pi-retro{grid-template-columns:minmax(0,1fr);}.pi-team-row{grid-template-columns:minmax(0,1fr);}.pi-now{grid-template-columns:minmax(0,1fr);}}
/* ---------- PI Planning: the event, the board and ROAM (README §Decisions 121) ---------- */
.pi-template-facts{font-size:var(--t-xs);font-weight:600;color:var(--ink-soft);}
.pi-template[aria-checked="true"] .pi-template-facts{color:var(--primary-ink);}
.pi-new-event{border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);margin:0;}
.pi-new-event legend{font-weight:600;padding:0 4px;}
.pi-iter-table{width:100%;border-collapse:collapse;margin-top:var(--s3);font-size:var(--t-sm);}
.pi-iter-table th{text-align:left;font-size:var(--t-xs);font-weight:600;color:var(--ink-soft);padding:4px 6px;}
.pi-iter-table td{padding:4px 6px;border-top:1px solid var(--rule);}
.pi-iter-table td input:not([type="number"]){width:100%;min-width:140px;max-width:360px;}
.pi-iter-table tr[data-ip] td{background:var(--warn-soft);}
.pi-now-next{grid-column:1/-1;display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:var(--t-sm);}
.pi-now .btn{background:var(--surface);color:var(--primary-ink);border-color:var(--surface);}
.pi-now[data-over] .btn{color:var(--attention);}
.pi-event-days{display:flex;flex-direction:column;gap:var(--s2);}
.pi-event-day{display:grid;grid-template-columns:64px minmax(0,1fr) 160px 120px auto;gap:var(--s2);align-items:center;}
.pi-day header h3{font-size:var(--t-md);}
.pi-slot{align-items:flex-start;position:relative;}
.pi-slot-time{display:flex;flex-direction:column;line-height:1.25;}
.pi-slot-time small{font-size:10px;color:var(--ink-soft);}
.pi-slot[data-kind="breakout"]{border-left-color:var(--warn);}
.pi-slot[data-kind="break"]{background:repeating-linear-gradient(135deg,var(--sunk) 0 8px,var(--surface) 8px 16px);border-left-color:var(--rule);}
.pi-slot[data-over]{box-shadow:inset 0 3px 0 var(--primary);}
.pi-slot:hover .ag-handle,.pi-slot:focus-within .ag-handle{opacity:1;}
.pi-slot-kind{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:0 6px;border-radius:999px;background:var(--surface);color:var(--ink);}
.pi-slot-kind[data-kind="breakout"]{background:var(--warn-soft);}
.pi-slot-notes{font-size:var(--t-xs);color:var(--ink-soft);white-space:pre-wrap;}
.pi-slot-drop{padding:8px;border:2px dashed var(--rule-strong);border-radius:var(--rad);text-align:center;font-size:var(--t-xs);color:var(--ink-soft);}
.pi-slot-drop[data-over]{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-soft);}
.pi-slot-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pi-slot-add input:not([type="number"]){flex:1 1 180px;min-width:0;}
.pi-slot-add input[type="number"]{flex:none;width:72px;}
.pi-quick{display:flex;gap:var(--s3);width:100%;font-size:var(--t-xs);}
.pi-sync{align-items:flex-start;padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);}
.pi-sync span{display:flex;flex-direction:column;gap:2px;}
.pi-sync small{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-board[data-dragging] .pi-cell[data-drop]{border-style:dashed;border-color:var(--rule-strong);}
.pi-board .pi-cell[data-over]{border:1px solid var(--primary);background:var(--primary-soft);}
.pi-backlog{padding:4px;border:1px solid transparent;border-radius:var(--rad);min-height:48px;}
.pi-backlog[data-over]{border-color:var(--primary);background:var(--primary-soft);}
.pi-drop-hint{align-self:center;font-size:var(--t-xs);color:var(--ink-soft);}
.pi-card-item[aria-disabled="true"]{cursor:default;}
.pi-card-item[draggable="true"]{cursor:grab;}
.pi-card-item[data-dragging]{opacity:.45;}
.pi-card-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.pi-card-key{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--primary-ink);}
.pi-card-key .rm-dot{margin-left:0;}
.pi-add-roadmap{color:var(--primary-ink);border-color:var(--primary);padding:4px 10px;}
.pi-linked{display:flex;flex-direction:column;gap:4px;padding:var(--s2) var(--s3);border-radius:var(--rad);background:var(--primary-soft);}
.pi-linked .thin{margin:0;color:var(--primary-ink);}
.pi-linked .rm-key,.pi-linked .link{color:var(--primary-ink);}
.pi-linked-label{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-ink);}
.pi-pick-list{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto;border:1px solid var(--rule);border-radius:var(--rad);}
.pi-pick-list li{border-top:1px solid var(--rule);}
.pi-pick-list li:first-child{border-top:0;}
.pi-pick-list li.thin{padding:8px 10px;}
.pi-pick-list label{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:2px 8px;align-items:baseline;padding:8px 10px;cursor:pointer;}
.pi-pick-list label:hover{background:var(--sunk);}
.pi-pick-list label small{grid-column:3;}
.pi-pick-list label[data-kind="epic"] .pi-pick-title{font-weight:700;}
.pi-pick-place{border:0;padding:0;margin:0;}
.pi-pick-place legend{font-weight:600;margin-bottom:var(--s2);}
.pi-risk-new{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;padding:var(--s3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);}
.pi-risk-new > input{flex:1 1 320px;min-width:0;}
.pi-risk-new label{display:flex;flex-direction:column;gap:2px;font-size:var(--t-xs);color:var(--ink-soft);}
.pi-risk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);}
.pi-risk-bar .btn-primary{margin-left:auto;}
.pi-roam-letter{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-family:var(--font-display);font-size:19px;font-weight:800;line-height:1;color:var(--surface);background:var(--attention);}
[data-roam="resolved"] .pi-roam-letter{background:var(--r-good);}
[data-roam="owned"] .pi-roam-letter{background:var(--primary);}
[data-roam="accepted"] .pi-roam-letter{background:var(--warn);}
[data-roam="mitigated"] .pi-roam-letter{background:var(--r-ok);}
.pi-roam-col[data-over]{outline:2px dashed var(--primary);outline-offset:-2px;background:var(--primary-soft);}
.pi-roam-empty{margin:0;padding:var(--s3) var(--s2);border:1px dashed var(--rule-strong);border-radius:var(--rad);text-align:center;font-size:var(--t-xs);color:var(--ink-soft);}
.pi-roam-col[data-over] .pi-roam-empty{border-color:var(--primary);color:var(--primary-ink);}
.pi-risk-title{font:inherit;font-weight:600;font-size:var(--t-sm);text-align:left;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;}
.pi-risk-title:hover{text-decoration:underline;}
.pi-risk-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.pi-risk-weight,.pi-chip-team,.pi-chip-owner{font-size:var(--t-xs);padding:1px 8px;border-radius:999px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.pi-risk-weight{background:var(--warn-soft);color:var(--ink);font-weight:600;}
.pi-risk-weight[data-band="high"]{background:var(--attention-soft);color:var(--attention);}
.pi-risk-weight[data-band="low"]{background:var(--good-soft);color:var(--ink);}
.pi-chip-team{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-left:4px solid var(--c,var(--primary));}
.pi-chip-owner{background:var(--sunk);color:var(--ink);}
.pi-risk .pi-risk-card{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-risk .pi-risk-action{font-size:var(--t-xs);color:var(--ink);border-left:2px solid var(--rule-strong);padding-left:6px;}
.pi-risk .pi-risk-due{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-risk .pi-risk-due[data-late]{color:var(--attention);font-weight:700;}
.pi-matrix{margin:0;padding:var(--s3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);display:flex;flex-direction:column;gap:var(--s2);overflow-x:auto;}
.pi-matrix-grid{display:grid;grid-template-columns:24px minmax(480px,1fr);gap:4px;}
.pi-matrix-axis-y{grid-column:1;grid-row:1/4;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);}
.pi-matrix-row{grid-column:2;display:grid;grid-template-columns:110px repeat(3,minmax(0,1fr));gap:4px;}
.pi-matrix-axis-x{grid-column:2;padding-left:114px;text-align:center;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);}
.pi-matrix-label{display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--t-xs);color:var(--ink-soft);}
.pi-matrix-cell{min-height:96px;padding:6px;border-radius:var(--rad);display:flex;flex-direction:column;gap:4px;background:var(--warn-soft);}
.pi-matrix-cell[data-band="low"]{background:var(--good-soft);}
.pi-matrix-cell[data-band="high"]{background:var(--attention-soft);}
.pi-matrix-risk{font:inherit;font-size:var(--t-xs);text-align:left;display:flex;align-items:center;gap:6px;min-width:0;padding:3px 6px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--rad);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pi-matrix-risk:hover{border-color:var(--primary);}
.pi-matrix-risk span{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.pi-matrix-risk > i{font-style:normal;flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-weight:800;font-size:11px;color:var(--ink);background:var(--surface);border:2px solid var(--attention);}
.pi-matrix-risk[data-roam="resolved"] > i{border-color:var(--r-good);}
.pi-matrix-risk[data-roam="owned"] > i{border-color:var(--primary);}
.pi-matrix-risk[data-roam="accepted"] > i{border-color:var(--warn);}
.pi-matrix-risk[data-roam="mitigated"] > i{border-color:var(--r-ok);}
.pi-roam-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);}
.pi-roam-pick button{font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;text-align:left;padding:8px;border:2px solid var(--rule);border-radius:var(--rad-lg);background:var(--surface);color:var(--ink);cursor:pointer;}
.pi-roam-pick button .pi-roam-letter{grid-row:1/3;}
.pi-roam-pick button small{font-size:var(--t-xs);color:var(--ink-soft);}
.pi-roam-pick button:hover{border-color:var(--primary);}
.pi-roam-pick button[aria-checked="true"]{border-color:var(--primary);background:var(--primary-soft);}
.pi-roam-pick button[aria-checked="true"] small{color:var(--primary-ink);}
.pi-roam-big button{padding:var(--s3);min-height:84px;}
.pi-together{display:flex;flex-direction:column;gap:var(--s3);}
.pi-together-risk{display:flex;flex-direction:column;gap:6px;padding:var(--s3);border-radius:var(--rad-lg);background:var(--sunk);}
.pi-together-risk h3{margin:0;font-size:var(--t-lg);}
.pi-together-risk p{margin:0;}
.pi-together-risk .pi-risk-card{font-size:var(--t-sm);color:var(--ink);}
.pi-together-done{display:flex;flex-direction:column;gap:4px;padding:var(--s4);text-align:center;}
.pi-together-done b{font-size:var(--t-lg);}
@media (max-width:760px){
  .pi-event-day{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .pi-event-day b{grid-column:1/-1;}
  .pi-roam-pick{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* Grey helper text is too faint on a tinted highlight (4.19:1); the tint's own ink passes. */
.pi-slot[data-running] .thin,.pi-template[aria-checked="true"] .thin,.pi-board-head .thin{color:var(--primary-ink);}

/* ---------- the Obeya (README §Decisions 32) ---------- */
.ob-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3);}
.ob-room{display:flex;flex-direction:column;gap:4px;padding:var(--s3);border:1px solid var(--rule);border-left:5px solid var(--ink-soft);border-radius:var(--rad-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.ob-room:hover{box-shadow:var(--shadow);border-color:var(--primary);}
.ob-room[data-level="leadership"]{border-left-color:var(--ink);}
.ob-room[data-level="art"]{border-left-color:var(--primary);}
.ob-room[data-level="team"]{border-left-color:var(--r-ok);}
.ob-level{align-self:flex-start;font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.ob-room-counts{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0;font-size:var(--t-xs);}
.ob-room-counts span{padding:2px 8px;border-radius:999px;background:var(--sunk);}
.ob-room-counts span[data-tone="red"]{background:var(--attention-soft);font-weight:600;}
.ob-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s2);}
.ob-template{font:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;padding:var(--s3);border:1px solid var(--rule-strong);border-radius:var(--rad-lg);background:var(--paper);color:var(--ink);cursor:pointer;}
.ob-template[aria-pressed="true"]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);}
.ob-mini{display:flex;gap:3px;margin-top:auto;}
.ob-mini i{flex:1;height:16px;border-radius:3px;background:var(--sunk);border-top:3px solid var(--ob-accent,var(--ink-soft));}
.ob-scope{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px var(--s3);}
.ob-bar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;}
.ob-bar .spacer{flex:1;}
.ob-ladder{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-sm);}
.ob-ladder a::after{content:' ›';color:var(--ink-soft);}
.ob-due{font-size:var(--t-xs);font-weight:600;padding:3px 10px;border-radius:999px;background:var(--warn-soft);color:var(--ink);}
.ob-walls{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s3);align-items:start;}
.ob-wall,.ob-mini i{--ob-accent:var(--ink-soft);}
.ob-wall[data-kind="purpose"],.ob-mini i[data-kind="purpose"]{--ob-accent:var(--primary);}
.ob-wall[data-kind="performance"],.ob-mini i[data-kind="performance"]{--ob-accent:var(--r-good);}
.ob-wall[data-kind="plan"],.ob-mini i[data-kind="plan"]{--ob-accent:var(--r-ok);}
.ob-wall[data-kind="problems"],.ob-mini i[data-kind="problems"]{--ob-accent:var(--attention);}
.ob-wall[data-kind="actions"],.ob-mini i[data-kind="actions"]{--ob-accent:var(--warn);}
.ob-wall[data-kind="people"],.ob-mini i[data-kind="people"]{--ob-accent:var(--r-mid);}
.ob-wall{background:var(--sunk);border:1px solid var(--rule);border-top:5px solid var(--ob-accent);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);min-width:0;}
.ob-wall header{display:flex;align-items:center;gap:var(--s2);}
.ob-wall header h3{margin:0;font-size:var(--t-md);flex:1;}
.ob-wall-tools{display:flex;gap:2px;}
.ob-wall-tools .btn{padding:2px 7px;}
.ob-wall-desc{margin:0;}
.ob-cards{display:flex;flex-direction:column;gap:var(--s2);}
.ob-add{font:inherit;background:transparent;border:1px dashed var(--rule-strong);border-radius:var(--rad);padding:8px;color:var(--ink-soft);cursor:pointer;}
.ob-add:hover{border-color:var(--primary);color:var(--ink);}
.ob-card{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--rule-strong);border-radius:var(--rad);padding:var(--s2) var(--s3);display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow);font-size:var(--t-sm);}
.ob-card[data-status="green"]{border-left-color:var(--r-good);}
.ob-card[data-status="amber"]{border-left-color:var(--warn);}
.ob-card[data-status="red"]{border-left-color:var(--attention);}
.ob-card[data-kind="goal"]{border-left-color:var(--primary);}
.ob-card[data-kind="decision"]{border-left-color:var(--ink);}
.ob-card header{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.ob-kind{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.ob-changed{color:var(--primary);font-size:10px;}
.ob-card-title{font:inherit;font-weight:600;font-size:var(--t-sm);background:none;border:0;padding:0;color:var(--ink);text-align:left;cursor:pointer;flex-basis:100%;}
.ob-card-title:disabled{cursor:default;}
.ob-card-title:not(:disabled):hover{text-decoration:underline;}
.ob-card p{margin:0;}
.ob-kpi-value{font-size:26px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;}
.ob-kpi-value small{font-size:var(--t-sm);font-weight:400;color:var(--ink-soft);}
.ob-trend{font-size:var(--t-sm);}
.ob-trend[data-trend="better"]{color:var(--r-good);}
.ob-trend[data-trend="worse"]{color:var(--attention);}
.ob-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--ink-soft);align-self:center;}
.ob-dot[data-status="green"]{background:var(--r-good);}
.ob-dot[data-status="amber"]{background:var(--warn);}
.ob-dot[data-status="red"]{background:var(--attention);}
.ob-spark{width:100%;height:30px;}
.ob-spark polyline{fill:none;stroke:var(--ink-soft);stroke-width:2;vector-effect:non-scaling-stroke;}
.ob-spark[data-status="green"] polyline{stroke:var(--r-good);}
.ob-spark[data-status="amber"] polyline{stroke:var(--warn);}
.ob-spark[data-status="red"] polyline{stroke:var(--attention);}
.ob-needs{background:var(--attention-soft);border-radius:var(--rad);padding:4px 8px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ob-record{display:flex;gap:6px;}
.ob-record input{width:120px;}
.ob-live ul{margin:0;padding-left:var(--s4);display:flex;flex-direction:column;gap:2px;}
.ob-pdca{list-style:none;margin:0;padding:0;display:flex;gap:3px;}
.ob-pdca li{flex:1;text-align:center;font-size:10px;font-weight:600;padding:3px 0;border-radius:3px;background:var(--sunk);color:var(--ink-soft);}
.ob-pdca li[data-on]{background:var(--primary);color:var(--paper);}
.ob-stage-note{font-weight:600;}
.ob-escalation{background:var(--sunk);border:1px dashed var(--rule-strong);border-radius:var(--rad);padding:6px 8px;display:flex;flex-direction:column;gap:6px;}
.ob-escalation textarea{width:100%;font:inherit;}
.ob-action{font-size:var(--t-sm);}
.ob-overdue{color:var(--attention);font-weight:600;}
.ob-body{white-space:pre-wrap;color:var(--ink-soft);}
.ob-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:var(--s4);}
.ob-overlay-inner{background:var(--paper);border-radius:var(--rad-lg);padding:var(--s4);width:min(980px,100%);display:flex;flex-direction:column;gap:var(--s3);box-shadow:var(--shadow);}
.ob-standup-head{display:flex;justify-content:space-between;gap:var(--s3);align-items:flex-start;}
.ob-standup-head h2{margin:0;}
.ob-steps{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap;}
.ob-steps button{font:inherit;font-size:var(--t-sm);padding:4px 10px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer;}
.ob-steps li[data-done] button{background:var(--sunk);color:var(--ink-soft);}
.ob-steps li[aria-current="step"] button{background:var(--primary);border-color:var(--primary);color:var(--paper);}
.ob-timer{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;font-variant-numeric:tabular-nums;}
.ob-timer-bar{flex:1;min-width:120px;height:8px;border-radius:4px;background:var(--sunk);overflow:hidden;}
.ob-timer-bar i{display:block;height:100%;background:var(--primary);}
.ob-timer[data-over] .ob-timer-bar i{background:var(--attention);}
.ob-timer[data-over] b{color:var(--attention);}
.ob-quick{display:flex;gap:6px;}
.ob-quick input{flex:1;}
.ob-standup-foot{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;}
.ob-finish{display:flex;gap:6px;flex:1;justify-content:flex-end;}
.ob-finish input{flex:1;max-width:420px;}
.ob-tv{position:fixed;inset:0;z-index:60;background:var(--paper);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);overflow:auto;}
.ob-tv header{display:flex;align-items:center;gap:var(--s4);font-size:var(--t-lg);flex-wrap:wrap;}
.ob-tv header b{font-size:var(--t-xl);}
.ob-tv-clock{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;}
.ob-tv-reds{font-size:var(--t-sm);font-weight:600;padding:4px 12px;border-radius:999px;background:var(--sunk);}
.ob-tv-reds[data-tone="red"]{background:var(--attention-soft);}
.ob-tv-dots{display:flex;gap:6px;}
.ob-tv-dots i{width:28px;height:5px;border-radius:3px;background:var(--rule-strong);}
.ob-tv-dots i[data-on]{background:var(--primary);}
.ob-tv-wall .ob-wall{font-size:1.15em;}
.ob-tv-wall .ob-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s3);}
.ob-history svg{width:100%;height:auto;max-width:640px;}
.ob-grid{stroke:var(--rule);stroke-width:1;}
.ob-line polyline{fill:none;stroke-width:2.2;}
.ob-line-reds polyline,.ob-line-reds circle{stroke:var(--attention);fill:var(--attention);}
.ob-line-problems polyline,.ob-line-problems circle{stroke:var(--warn);fill:var(--warn);}
.ob-line-actions polyline,.ob-line-actions circle{stroke:var(--primary);fill:var(--primary);}
.ob-line polyline{fill:none !important;}
.ob-history-key{display:flex;gap:var(--s3);font-size:var(--t-sm);}
.ob-history-key span{display:inline-flex;align-items:center;gap:6px;}
.ob-history-key i{display:inline-block;width:14px;height:4px;border-radius:2px;background:currentColor;}
.ob-history-key .ob-line-reds i{background:var(--attention);}
.ob-history-key .ob-line-problems i{background:var(--warn);}
.ob-history-key .ob-line-actions i{background:var(--primary);}
.ob-history-list{margin:var(--s2) 0 0;padding-left:var(--s4);font-size:var(--t-sm);display:flex;flex-direction:column;gap:2px;}
@media (max-width:560px){.ob-walls{grid-template-columns:minmax(0,1fr);}.ob-quick,.ob-finish{flex-direction:column;}}

/* Retro items added by hand (README §Decisions 33) */
.retro-add{border:1px dashed var(--rule-strong);border-radius:var(--rad-lg);padding:var(--s3);margin-bottom:var(--s3);background:var(--surface);}
.retro-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--s2);align-items:start;}
.retro-add textarea{width:100%;font:inherit;resize:vertical;min-height:44px;}
.retro-add p{margin:var(--s2) 0 0;}
@media (max-width:620px){.retro-add-row{grid-template-columns:minmax(0,1fr);}}

/* The scrum master's notebook (README §Decisions 33) */
.nb-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--s4);align-items:start;}
.nb-side{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s2);display:flex;flex-direction:column;gap:var(--s2);position:sticky;top:var(--s3);}
.nb-team ul{list-style:none;margin:2px 0 0;padding:0 0 0 var(--s2);display:flex;flex-direction:column;}
.nb-link{display:flex;gap:var(--s2);align-items:baseline;padding:6px var(--s2);border-radius:var(--rad);color:var(--ink);text-decoration:none;}
.nb-link:hover{background:var(--sunk);}
.nb-link[aria-current="page"]{background:var(--primary-soft);color:var(--primary-ink);}
.nb-link[aria-current="page"] .thin{color:var(--primary-ink);}
.nb-link > span:first-child{flex:1;min-width:0;}
.nb-team-link b{flex:1;}
.nb-count{font-size:var(--t-xs);font-weight:600;background:var(--sunk);color:var(--ink);border-radius:999px;padding:0 7px;}
.nb-head h2{margin:0;}
.nb-head p{margin:2px 0 0;}
.nb-lock{display:flex;gap:var(--s2);align-items:flex-start;margin:0;padding:var(--s2) var(--s3);border:1px solid var(--rule-strong);border-left:4px solid var(--primary);border-radius:var(--rad);background:var(--surface);font-size:var(--t-sm);}
.nb-main textarea{width:100%;font:inherit;resize:vertical;}
.nb-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.nb-note{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.nb-meta{margin:0;}
.nb-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;}
.nb-upload{border:1px solid var(--rule);border-radius:var(--rad);background:var(--sunk);padding:var(--s2) var(--s3);}
.nb-upload summary{cursor:pointer;font-weight:500;}
.nb-upload .nb-body{margin-top:var(--s2);font-size:var(--t-sm);max-height:280px;overflow:auto;}
.nb-tools{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:flex-end;align-items:center;}
.nb-stale{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;}
@media (max-width:860px){.nb-layout{grid-template-columns:minmax(0,1fr);}.nb-side{position:static;}}

/* Impediment priorities (README §Decisions 34) */
.ip-visuals{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
.ip-matrix{margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.ip-matrix svg{width:100%;height:auto;}
.ip-q-win{fill:var(--primary-soft);}
.ip-qlabel{fill:var(--ink-soft);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.ip-axis{stroke:var(--rule-strong);stroke-width:1.2;}
.ip-axis-mid{stroke:var(--rule);stroke-dasharray:4 4;}
.ip-axis-label{fill:var(--ink-soft);font-size:11px;}
.ip-bubble circle{fill:var(--warn);fill-opacity:.35;stroke:var(--warn);stroke-width:1.5;}
.ip-bubble[data-blocking] circle{fill:var(--attention);fill-opacity:.3;stroke:var(--attention);}
.ip-bubble text{fill:var(--ink);font-size:11px;font-weight:700;}
.ip-key-block i{background:var(--attention-soft);border-color:var(--attention);}
.ip-key-slow i{background:var(--warn-soft);border-color:var(--warn);}
.ip-pareto{display:flex;flex-direction:column;gap:6px;}
.ip-pareto-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:var(--s2);align-items:center;font-size:var(--t-sm);}
.ip-pareto-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ip-pareto-bar{height:10px;background:var(--sunk);border-radius:5px;overflow:hidden;}
.ip-pareto-bar i{display:block;height:100%;background:var(--attention);border-radius:5px;}
.ip-pareto-num{font-variant-numeric:tabular-nums;white-space:nowrap;}
.ip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.ip-row{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);}
.ip-row[data-open]{box-shadow:0 0 0 2px var(--primary-soft);}
.ip-row-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;gap:var(--s3);align-items:center;}
.ip-row-title{display:flex;flex-direction:column;gap:4px;min-width:0;}
.ip-teams{display:flex;flex-wrap:wrap;gap:4px;}
.ip-team{font-size:var(--t-xs);padding:1px 8px;border-radius:999px;background:var(--warn-soft);color:var(--ink);}
.ip-team[data-impact="blocking"]{background:var(--attention-soft);}
.ip-score{font-weight:700;font-variant-numeric:tabular-nums;min-width:2.5em;text-align:center;padding:4px 8px;border-radius:var(--rad);background:var(--sunk);}
.ip-money{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;}
.ip-money small{font-size:var(--t-xs);color:var(--ink-soft);}
.ip-row-tools{display:flex;gap:4px;}
.ip-assess{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule);}
.ip-scores{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s3);}
.ip-scores fieldset p{margin:4px 0 0;}
.ip-hours{display:flex;flex-wrap:wrap;gap:var(--s3);}
.ip-people{max-height:420px;overflow:auto;}
@media (max-width:1000px){.ip-visuals{grid-template-columns:minmax(0,1fr);}.ip-row-main{grid-template-columns:auto minmax(0,1fr) auto;}.ip-money{align-items:flex-start;}}

/* The personal dashboard (README §Decisions 35) */
.db-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);align-items:stretch;}
.db-widget{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);min-width:0;box-shadow:var(--shadow);}
.db-widget[data-size="s"]{grid-column:span 1;}
.db-widget[data-size="m"]{grid-column:span 2;}
.db-widget[data-size="l"]{grid-column:1/-1;}
.db-widget header{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;}
.db-widget h3{margin:0;font-size:var(--t-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.db-tools{display:flex;gap:2px;flex-wrap:wrap;}
.db-tools .btn{padding:2px 7px;font-size:var(--t-xs);}
.db-widget[data-kind="greeting"]{background:linear-gradient(135deg,var(--primary-soft),var(--surface) 70%);}
.db-hello{font-size:var(--t-xl);font-weight:650;margin:0;}
.db-quote{margin:var(--s2) 0 0;padding-left:var(--s3);border-left:3px solid var(--primary);}
.db-quote p{margin:0;font-style:italic;}
.db-quote footer,.db-purpose footer{font-size:var(--t-xs);color:var(--ink-soft);margin-top:4px;}
.db-purpose{margin:0;font-size:var(--t-md);font-weight:500;}
.db-purpose p{margin:0;}
.db-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);}
.db-list li{display:flex;gap:var(--s2);align-items:baseline;flex-wrap:wrap;}
.db-list li > span:first-of-type{flex:1;min-width:0;}
.db-ranked{counter-reset:r;}
.db-ranked li::before{counter-increment:r;content:counter(r);font-weight:700;color:var(--ink-soft);min-width:1.2em;}
.db-badge{font-size:var(--t-xs);font-weight:600;background:var(--attention-soft);color:var(--ink);border-radius:999px;padding:0 7px;}
.db-big{font-size:34px;font-weight:700;line-height:1;margin:0;font-variant-numeric:tabular-nums;}
.db-big small{font-size:var(--t-sm);font-weight:400;color:var(--ink-soft);}
.db-big[data-tone="red"]{color:var(--attention);}
.db-bar{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden;}
.db-bar i{display:block;height:100%;background:var(--primary);}
.db-goal{margin:0;font-size:var(--t-sm);}
.db-stat{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none;}
.db-stat:hover .db-big{color:var(--primary-ink);}
.db-tip-title{font-weight:600;margin:0 0 2px;}
.db-health svg{width:100%;height:auto;}
.db-health polyline{fill:none;stroke:var(--primary);stroke-width:2;}
.db-health circle{fill:var(--primary);}
.db-note{width:100%;min-height:110px;font:inherit;resize:vertical;background:var(--warn-soft);border:1px solid var(--rule);border-radius:var(--rad);padding:var(--s2);color:var(--ink);}
.db-focus ul{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-direction:column;gap:4px;}
.db-focus li{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);}
.db-focus span[data-done]{text-decoration:line-through;color:var(--ink-soft);}
.db-focus input:not([type]){width:100%;}
.db-countdown{display:flex;flex-direction:column;gap:var(--s2);}
.db-gallery{background:var(--surface);border:1px dashed var(--rule-strong);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s3);}
.db-gallery h2{margin:0;font-size:var(--t-md);}
.db-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--s2);}
.db-gallery-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:var(--s2);border:1px solid var(--rule);border-radius:var(--rad);}
@media (max-width:1100px){.db-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.db-widget[data-size="m"],.db-widget[data-size="l"]{grid-column:1/-1;}}
@media (max-width:620px){.db-grid{grid-template-columns:minmax(0,1fr);}.db-widget[data-size]{grid-column:1/-1;}}

/* Ways of working (README §Decisions 36) */
.top-fw{font:inherit;font-size:var(--t-sm);padding:4px 8px;border:1px solid var(--rule-strong);border-radius:var(--rad);background:var(--surface);color:var(--ink);max-width:170px;}

/* The cost and value of ceremonies (README §Decisions 38) */
.cc-bars{display:flex;flex-direction:column;gap:8px;}
.cc-bar-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;gap:var(--s3);align-items:center;}
.cc-bar{height:14px;background:var(--sunk);border-radius:7px;overflow:hidden;}
.cc-bar i{display:block;height:100%;border-radius:7px;}
[data-verdict="good"]{--v:var(--r-good);} [data-verdict="watch"]{--v:var(--warn);} [data-verdict="rethink"]{--v:var(--attention);} [data-verdict="unrated"]{--v:var(--r-mid);}
.cc-bar i,.cc-legend i{background:var(--v);}
.cc-bar-num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;}
.cc-bar-num small{font-weight:400;color:var(--ink-soft);}
.cc-legend{display:flex;flex-wrap:wrap;gap:var(--s3);font-size:var(--t-sm);margin:var(--s3) 0 0;}
.cc-legend span{display:inline-flex;align-items:center;gap:6px;}
.cc-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;}
.cc-table{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
.cc-table th,.cc-table td{text-align:left;padding:8px;border-bottom:1px solid var(--rule);vertical-align:top;}
.cc-table th{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);}
.cc-verdict{display:inline-block;min-width:2.6em;text-align:center;font-weight:700;padding:2px 6px;border-radius:var(--rad);border-left:4px solid var(--v);background:var(--sunk);}

/* Search and the command bar (README §Decisions 39) */
.search-btn{display:flex;align-items:center;gap:var(--s2);width:100%;padding:7px var(--s2);border:1px solid var(--rule-strong);border-radius:var(--rad);background:var(--sunk);color:var(--ink-soft);font:inherit;font-size:var(--t-sm);cursor:pointer;}
.search-btn:hover{color:var(--ink);border-color:var(--primary);}
.search-btn span{flex:1;text-align:left;}
.search-btn kbd,.cmd kbd{font-family:inherit;font-size:11px;border:1px solid var(--rule-strong);border-radius:4px;padding:1px 5px;background:var(--surface);color:var(--ink-soft);}
.cmd-backdrop{position:fixed;inset:0;background:rgba(10,15,16,.45);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:50;}
.cmd{width:min(640px,calc(100% - 32px));background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--rad-lg);box-shadow:0 24px 60px -20px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column;max-height:70vh;}
.cmd-input{display:flex;align-items:center;gap:var(--s2);padding:var(--s3);border-bottom:1px solid var(--rule);}
.cmd-input input{flex:1;border:0;outline:none;font:inherit;font-size:var(--t-md);background:transparent;color:var(--ink);}
.cmd-list{list-style:none;margin:0;padding:var(--s2);overflow-y:auto;}
.cmd-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:var(--s3);align-items:baseline;padding:8px var(--s2);border-radius:var(--rad);cursor:pointer;}
.cmd-row[aria-selected="true"]{background:var(--primary);color:var(--on-primary);}
.cmd-row[aria-selected="true"] .cmd-kind,.cmd-row[aria-selected="true"] .cmd-sub{color:var(--on-primary);}
.cmd-kind{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.cmd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cmd-sub{font-size:var(--t-sm);color:var(--ink-soft);white-space:nowrap;}
.cmd-empty{padding:var(--s3);color:var(--ink-soft);}
.cmd-foot{margin:0;padding:8px var(--s3);border-top:1px solid var(--rule);font-size:var(--t-xs);color:var(--ink-soft);}
@media (max-width:940px){.search-btn{width:auto;}.search-btn span,.search-btn kbd{display:none;}}

/* Improvement experiments (README §Decisions 40) */
.ex-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);align-items:start;}
.ex-col{background:var(--sunk);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);border-top:4px solid var(--ink-soft);}
.ex-col[data-stage="running"]{border-top-color:var(--primary);}
.ex-col[data-stage="check"]{border-top-color:var(--warn);}
.ex-col[data-stage="done"]{border-top-color:var(--r-good);}
.ex-col h3{margin:0;font-size:var(--t-md);}
.ex-card,.ex-frame{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad);padding:var(--s3);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);font-size:var(--t-sm);}
.ex-card p,.ex-frame p{margin:0;}
.ex-card[data-result="worked"]{border-left:4px solid var(--r-good);}
.ex-card[data-result="failed"]{border-left:4px solid var(--attention);}
.ex-result{font-weight:700;padding:1px 8px;border-radius:999px;background:var(--sunk);}
.ex-result[data-result="worked"]{background:var(--primary-soft);color:var(--primary-ink);}
.ex-result[data-result="failed"]{background:var(--attention-soft);}
.ex-result[data-result="partly"],.ex-result[data-result="unclear"]{background:var(--warn-soft);}
.ex-tools{display:flex;gap:4px;flex-wrap:wrap;}
.ex-frame textarea,.ex-frame input{width:100%;font:inherit;}
.ex-library{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.ex-library li{padding:var(--s2) var(--s3);border-left:4px solid var(--r-good);background:var(--sunk);border-radius:0 var(--rad) var(--rad) 0;}
@media (max-width:1100px){.ex-board{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.ex-board{grid-template-columns:minmax(0,1fr);}}

/* Stakeholder review feedback (README §Decisions 41) */
.rv-link{display:flex;gap:var(--s4);align-items:flex-start;flex-wrap:wrap;}
.rv-url{overflow-wrap:anywhere;font-size:var(--t-sm);background:var(--sunk);padding:var(--s2);border-radius:var(--rad);display:block;}
.rv-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--s4);align-items:start;}
.rv-list{display:flex;flex-direction:column;gap:var(--s2);}
.rv-round{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--rad);background:var(--surface);font:inherit;color:inherit;cursor:pointer;}
.rv-round[aria-current]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}
.rv-results{list-style:none;margin:0 0 var(--s3);padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.rv-results li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;gap:var(--s3);align-items:center;}
.rv-bar{height:12px;background:var(--sunk);border-radius:6px;overflow:hidden;}
.rv-bar i{display:block;height:100%;background:var(--primary);border-radius:6px;}
.rv-mean{font-variant-numeric:tabular-nums;white-space:nowrap;}
.rv-mean small{color:var(--ink-soft);font-weight:400;}
.rv-spread{display:flex;gap:2px;align-items:flex-end;height:22px;}
.rv-spread i{display:block;width:6px;background:var(--r-ok);border-radius:2px;}
@media (max-width:860px){.rv-layout{grid-template-columns:minmax(0,1fr);}.rv-results li{grid-template-columns:minmax(0,1fr) auto;}}

/* Capacity and availability (README §Decisions 42) */
.cap-scroll{overflow-x:auto;}
.cap-grid{border-collapse:separate;border-spacing:3px;font-size:var(--t-sm);}
.cap-grid thead th{font-weight:600;color:var(--ink-soft);text-align:center;min-width:26px;}
.cap-grid thead th span{display:block;}
.cap-grid thead th small{display:block;font-weight:400;font-size:var(--t-xs);}
.cap-grid thead th:first-child{text-align:left;}
.cap-grid tbody th{text-align:left;font-weight:500;white-space:nowrap;padding-right:var(--s3);}
.cap-grid tbody th small{display:block;font-weight:400;color:var(--ink-soft);font-size:var(--t-xs);}
.cap-grid tbody tr[data-mine] th{color:var(--primary-ink);}
.cap-grid td{padding:0;}
.cap-grid td i{display:block;width:26px;height:26px;border-radius:5px;background:var(--primary-soft);border:1px solid var(--rule);}
.cap-grid td[data-away] i{background:repeating-linear-gradient(45deg,var(--attention-soft) 0 5px,var(--surface) 5px 9px);border-color:var(--attention);}
.cap-grid td.cap-total{font-weight:700;font-variant-numeric:tabular-nums;padding-left:var(--s2);}
.cap-legend{display:flex;align-items:center;gap:6px;}
.cap-key{display:inline-block;width:14px;height:14px;border-radius:3px;background:var(--primary-soft);border:1px solid var(--rule);}
.cap-key-away{background:repeating-linear-gradient(45deg,var(--attention-soft) 0 4px,var(--surface) 4px 7px);border-color:var(--attention);margin-left:var(--s3);}
.cap-absences{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.cap-absences li{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--t-sm);}

/* The cross-team dependency radar (README §Decisions 43) */
.dep-network{margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.dep-network svg{width:100%;height:auto;max-height:560px;}
.dep-edge{fill:none;stroke-linecap:round;}
.dep-edge.dep-blocked,.dep-head.dep-blocked{stroke:var(--attention);fill:var(--attention);}
.dep-edge.dep-open,.dep-head.dep-open{stroke:var(--warn);fill:var(--warn);}
.dep-edge.dep-agreed,.dep-head.dep-agreed{stroke:var(--primary);fill:var(--primary);}
.dep-edge.dep-done,.dep-head.dep-done{stroke:var(--r-mid);fill:var(--r-mid);}
.dep-edge{fill:none!important;}
.dep-shared{stroke:var(--ink-soft);stroke-dasharray:4 5;opacity:.75;}
.dep-network [data-dim]{opacity:.38;}
.dep-node{cursor:pointer;outline:none;}
.dep-node circle{fill:var(--surface);stroke:var(--primary);stroke-width:2.5;}
.dep-node[data-external] circle{stroke:var(--ink-soft);stroke-dasharray:4 3;}
.dep-node[data-picked] circle,.dep-node:focus-visible circle{stroke-width:4;fill:var(--primary-soft);}
.dep-count{font-size:12px;font-weight:700;fill:var(--ink);}
.dep-label{font-size:13px;font-weight:600;fill:var(--ink);}
.dep-key i{background:transparent!important;height:4px!important;border:none!important;border-radius:2px!important;}
.dep-key.dep-blocked i{background:var(--attention)!important;}
.dep-key.dep-open i{background:var(--warn)!important;}
.dep-key.dep-agreed i{background:var(--primary)!important;}
.dep-key.dep-done i{background:var(--r-mid)!important;}
.dep-sharedkey i{background:repeating-linear-gradient(90deg,var(--ink-soft) 0 4px,transparent 4px 8px)!important;}
.dep-picked{border-top:1px solid var(--rule);margin-top:var(--s3);padding-top:var(--s3);}
.dep-picked h3{margin:0 0 var(--s2);}
.dep-matrix{border-collapse:separate;border-spacing:3px;font-size:var(--t-sm);}
.dep-matrix thead th{font-weight:600;color:var(--ink-soft);vertical-align:bottom;max-width:110px;}
.dep-matrix tbody th{text-align:left;font-weight:500;white-space:nowrap;padding-right:var(--s3);}
.dep-matrix td{width:44px;height:36px;text-align:center;border-radius:6px;background:var(--sunk);font-weight:700;color:var(--ink);}
.dep-matrix td[data-status="blocked"]{background:var(--attention-soft);box-shadow:inset 0 0 0 2px var(--attention);}
.dep-matrix td[data-status="open"]{background:var(--warn-soft);box-shadow:inset 0 0 0 2px var(--warn);}
.dep-matrix td[data-status="agreed"]{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary);}
.dep-matrix td[data-status="done"]{background:var(--sunk);box-shadow:inset 0 0 0 2px var(--r-mid);}

/* OKRs (README §Decisions 44) */
.okr-tree{display:flex;flex-direction:column;gap:var(--s4);}
.okr-branch{display:flex;flex-direction:column;gap:var(--s2);}
.okr-children{margin-left:var(--s5);padding-left:var(--s4);border-left:2px solid var(--rule-strong);display:flex;flex-direction:column;gap:var(--s2);}
.okr-obj{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--s2);}
.okr-obj[data-level="org"]{border-top:4px solid var(--primary);}
.okr-obj[data-level="unit"]{border-top:4px solid var(--r-ok);}
.okr-obj[data-closed]{opacity:.7;}
.okr-obj header{display:flex;gap:var(--s3);align-items:flex-start;}
.okr-head{flex:1;min-width:0;}
.okr-head h3{margin:2px 0;font-size:var(--t-lg);}
.okr-head p{margin:0;}
.okr-owner{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.okr-ring{width:56px;height:56px;flex:none;}
.okr-ring-bg{fill:none;stroke:var(--sunk);stroke-width:6;}
.okr-ring-fg{fill:none;stroke:var(--primary);stroke-width:6;stroke-linecap:round;}
.okr-ring[data-tone="watch"] .okr-ring-fg{stroke:var(--warn);}
.okr-ring[data-tone="risk"] .okr-ring-fg{stroke:var(--attention);}
.okr-ring text{font-size:12px;font-weight:700;fill:var(--ink);}
.okr-conf{font-weight:700;font-size:var(--t-sm);padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink);}
.okr-conf[data-tone="good"]{background:var(--primary-soft);}
.okr-conf[data-tone="watch"]{background:var(--warn-soft);}
.okr-conf[data-tone="risk"]{background:var(--attention-soft);}
.okr-krs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.okr-kr{border-top:1px solid var(--rule);padding-top:6px;}
.okr-kr-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(80px,1fr) auto auto auto auto;gap:var(--s2);align-items:center;font-size:var(--t-sm);}
.okr-pi{color:var(--primary-ink);font-size:var(--t-xs);}
.okr-bar{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden;}
.okr-bar i{display:block;height:100%;background:var(--primary);}
.okr-bar i[data-tone="watch"]{background:var(--warn);}
.okr-bar i[data-tone="risk"]{background:var(--attention);}
.okr-value{font-variant-numeric:tabular-nums;white-space:nowrap;}
.okr-spark{width:90px;height:24px;}
.okr-spark polyline{fill:none;stroke:var(--primary);stroke-width:1.8;}
.okr-spark-target{stroke:var(--ink-soft);stroke-dasharray:2 3;}
.okr-dot{width:12px;height:12px;border-radius:50%;background:var(--sunk);border:1px solid var(--rule-strong);}
.okr-dot[data-tone="good"]{background:var(--primary);border-color:var(--primary);}
.okr-dot[data-tone="watch"]{background:var(--warn);border-color:var(--warn);}
.okr-dot[data-tone="risk"]{background:var(--attention);border-color:var(--attention);}
.okr-kr-owner{display:block;font-size:var(--t-xs);}
.okr-checkin,.okr-newkr{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;margin-top:var(--s2);padding:var(--s2);background:var(--sunk);border-radius:var(--rad);}
.okr-newkr{flex-direction:column;align-items:stretch;}
.okr-history{list-style:none;margin:0;padding:0;width:100%;}
.okr-actions{display:flex;gap:var(--s2);justify-content:flex-end;}
.okr-loose h2{margin:var(--s3) 0 2px;font-size:var(--t-md);}
@media (max-width:900px){.okr-kr-main{grid-template-columns:minmax(0,1fr) auto;}.okr-spark{display:none;}.okr-children{margin-left:var(--s2);padding-left:var(--s2);}}
.db-okr{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) auto;gap:var(--s2);align-items:center;font-size:var(--t-sm);}

/* Blameless postmortems (README §Decisions 45) */
.pm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.pm-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:var(--s3);align-items:center;padding:var(--s3);background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);color:inherit;text-decoration:none;box-shadow:var(--shadow);}
.pm-row:hover{border-color:var(--primary);}
.pm-row-title{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pm-sev{font-size:var(--t-xs);font-weight:800;padding:3px 8px;border-radius:5px;color:var(--ink);background:var(--sunk);letter-spacing:.03em;}
.pm-sev[data-sev="1"]{background:var(--attention);color:var(--on-primary);}
.pm-sev[data-sev="2"]{background:var(--attention-soft);box-shadow:inset 0 0 0 1px var(--attention);}
.pm-sev[data-sev="3"]{background:var(--warn-soft);box-shadow:inset 0 0 0 1px var(--warn);}
.pm-status{font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink);}
.pm-status[data-status="published"]{background:var(--primary-soft);color:var(--primary-ink);}
.pm-chart{margin:0;display:flex;flex-direction:column;gap:var(--s2);}
.pm-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s2);align-items:end;height:150px;}
.pm-bar{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;}
.pm-stack{flex:1;width:60%;display:flex;flex-direction:column-reverse;border-bottom:1px solid var(--rule-strong);}
.pm-stack i{display:block;width:100%;}
.pm-stack i[data-sev="1"],.pm-key[data-sev="1"]{background:var(--attention);}
.pm-stack i[data-sev="2"],.pm-key[data-sev="2"]{background:var(--r-low);}
.pm-stack i[data-sev="3"],.pm-key[data-sev="3"]{background:var(--warn);}
.pm-stack i[data-sev="4"],.pm-key[data-sev="4"]{background:var(--r-mid);}
.pm-key{display:inline-block;width:12px;height:12px;border-radius:3px;}
.pm-teams{display:flex;flex-wrap:wrap;gap:var(--s3);border:none;padding:0;margin:0;}
.pm-doc textarea{width:100%;font:inherit;resize:vertical;}
.pm-hint{margin:0;padding:var(--s2) var(--s3);border-radius:var(--rad);background:var(--warn-soft);border:1px solid var(--warn);font-size:var(--t-sm);}
.pm-section{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);box-shadow:var(--shadow);}
.pm-section h2{margin:0 0 var(--s2);font-size:var(--t-md);}
.pm-text{margin:0;white-space:pre-wrap;}
.pm-dur{display:flex;flex-direction:column;}
.pm-timeline{list-style:none;margin:0 0 var(--s3);padding:0 0 0 var(--s3);border-left:2px solid var(--rule-strong);display:flex;flex-direction:column;gap:var(--s2);}
.pm-timeline li{display:grid;grid-template-columns:130px auto minmax(0,1fr) auto;gap:var(--s2);align-items:baseline;position:relative;font-size:var(--t-sm);}
.pm-timeline li::before{content:"";position:absolute;left:calc(-1 * var(--s3) - 6px);top:5px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--rule-strong);}
.pm-timeline li[data-kind="detected"]::before{border-color:var(--warn);background:var(--warn);}
.pm-timeline li[data-kind="mitigated"]::before{border-color:var(--r-ok);background:var(--r-ok);}
.pm-timeline li[data-kind="resolved"]::before{border-color:var(--primary);background:var(--primary);}
.pm-timeline time{color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.pm-kind{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);}
.pm-whys{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-direction:column;gap:6px;}
.pm-whys li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:var(--s2);align-items:center;}
.pm-whys li:nth-child(n+2){margin-left:calc(var(--s3) * var(--i,1));}
.pm-why-n{font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}
.pm-factors{display:flex;flex-wrap:wrap;gap:var(--s2);}
.pm-factors button{padding:5px 12px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);font:inherit;font-size:var(--t-sm);color:var(--ink);cursor:pointer;}
.pm-factors button[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.pm-actions{list-style:none;margin:0 0 var(--s3);padding:0;display:flex;flex-direction:column;gap:6px;}
.pm-actions li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:var(--s2);align-items:center;font-size:var(--t-sm);border-bottom:1px solid var(--rule);padding-bottom:6px;}
.pm-actions li[data-done] label span{text-decoration:line-through;color:var(--ink-soft);}
.pm-links{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:900px){.pm-row{grid-template-columns:auto minmax(0,1fr);}.pm-timeline li{grid-template-columns:1fr;}.pm-actions li{grid-template-columns:1fr;}}

/* The leadership report (README §Decisions 46) */
.report-page{display:flex;flex-direction:column;gap:var(--s4);}
.report-head h2{margin:2px 0;font-size:var(--t-2xl);}
.report-head p{margin:0;}
.report-highlights{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--primary);border-radius:var(--rad-lg);padding:var(--s3) var(--s4);box-shadow:var(--shadow);}
.report-highlights h3{margin:0 0 var(--s2);font-size:var(--t-md);}
.report-highlights ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
.report-highlights li{padding-left:22px;position:relative;}
.report-highlights li::before{content:"";position:absolute;left:2px;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--r-mid);}
.report-highlights li[data-tone="good"]::before{background:var(--primary);}
.report-highlights li[data-tone="watch"]::before{background:var(--warn);}
.report-highlights li[data-tone="risk"]::before{background:var(--attention);}
.report-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s3);}
.report-chart{width:100%;height:auto;}
.report-line{fill:none;stroke:var(--primary);stroke-width:2.5;}
.report-dot{fill:var(--primary);}
.report-bar{fill:var(--attention);opacity:.85;}
.report-val{font-size:11px;font-weight:700;fill:var(--ink);}
.report-axis{font-size:11px;fill:var(--ink-soft);}
.report-table{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
.report-table td{padding:5px 4px;border-bottom:1px solid var(--rule);}
.report-table td.num{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.report-okrs{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-direction:column;gap:6px;}
.report-okrs li{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(60px,1fr) auto;gap:var(--s2);align-items:center;font-size:var(--t-sm);}
@media print{
  @page{size:A4;margin:14mm;}
  .rail,.no-print,.demo-banner,.banner,.topbar .seg,.topbar .top-fw,.topbar button,.skip-link{display:none!important;}
  .app{display:block!important;}
  .main{padding:0!important;max-width:none!important;}
  body{background:#fff!important;}
  .stat,.report-highlights,.panel{box-shadow:none!important;break-inside:avoid;}
  .report-trends,.report-lists{break-inside:avoid;}
}

/* Live retro facilitation (README §Decisions 47) */
.live-panel{display:flex;flex-direction:column;gap:var(--s3);}
.live-link{display:flex;gap:var(--s4);align-items:flex-start;flex-wrap:wrap;}
.live-steps{list-style:none;margin:0;padding:0;display:flex;gap:var(--s2);flex-wrap:wrap;counter-reset:step;}
.live-steps li{counter-increment:step;padding:4px 12px;border-radius:999px;border:1px solid var(--rule-strong);font-size:var(--t-sm);color:var(--ink-soft);}
.live-steps li::before{content:counter(step) ". ";font-weight:700;}
.live-steps li[data-state="done"]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary-soft);}
.live-steps li[data-state="now"]{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:600;}
.live-status{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;font-size:var(--t-sm);}
.live-timer{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--primary-ink);margin:0;}
.live-timer[data-low]{color:var(--attention);}
.live-dots{display:inline-block;font-size:var(--t-xs);font-weight:700;color:var(--primary-ink);letter-spacing:1px;margin-right:6px;}
.live-vote{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.live-vote button{width:100%;text-align:left;padding:var(--s3);border:1px solid var(--rule-strong);border-radius:var(--rad-lg);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;}
.live-vote button[aria-pressed="true"]{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary);background:var(--primary-soft);}
.live-vote button:disabled{opacity:.55;cursor:default;}
.live-dotsleft{font-weight:700;margin:0;}
.live-results{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;}
.ms-external textarea{width:100%;font:inherit;}

/* Notifications (README §Decisions 48) */
.nt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.nt-list li{display:flex;align-items:center;gap:var(--s3);padding:12px 0;border-top:1px solid var(--rule);}
.nt-list li:first-child{border-top:0;padding-top:4px;}
.nt-icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-ink);}
.nt-icon svg{width:17px;height:17px;}
.nt-list li[data-kind="actionOverdue"] .nt-icon{background:var(--attention-soft);color:var(--attention);}
.nt-list li[data-kind="agreement"] .nt-icon,.nt-list li[data-kind="experiment"] .nt-icon{background:var(--warn-soft);color:var(--warn);}
.nt-text{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--ink);text-decoration:none;font-size:var(--t-md);}
a.nt-text:hover{color:var(--primary-ink);text-decoration:underline;}
.nt-done{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;}
.nt-done svg{width:14px;height:14px;}
.nt-empty{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0 var(--s2);color:var(--ink-soft);}
.nt-empty svg{width:22px;height:22px;padding:6px;box-sizing:content-box;border-radius:50%;background:var(--good-soft);color:var(--good);}
.nt-done-list{margin-top:var(--s3);border-top:1px solid var(--rule);padding-top:var(--s3);}
.nt-done-list summary{cursor:pointer;font-weight:700;font-size:var(--t-sm);color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:6px;}
.nt-done-list summary::-webkit-details-marker{display:none;}
.nt-done-list summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-right:4px;}
.nt-done-list[open] summary::before{transform:rotate(45deg);}
.nt-list[data-done] li{padding:8px 0;}
.nt-list[data-done] .nt-icon{width:26px;height:26px;border-radius:50%;background:var(--sunk);color:var(--ink-faint);}
.nt-list[data-done] .nt-icon svg{width:13px;height:13px;}
.nt-list[data-done] .nt-text{color:var(--ink-soft);font-size:var(--t-sm);}
/* the email summary as three options, each saying what it means */
.nt-digest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-top:var(--s3);}
.nt-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px 12px;border:1px solid var(--rule-strong);border-radius:12px;background:var(--surface);cursor:pointer;min-height:84px;}
.nt-option:hover{border-color:var(--primary);}
.nt-option input{position:absolute;opacity:0;pointer-events:none;}
.nt-option b{font-size:var(--t-md);}
.nt-option .thin{line-height:1.35;}
.nt-option-mark{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--rule-strong);display:grid;place-items:center;color:transparent;}
.nt-option-mark svg{width:11px;height:11px;}
.nt-option[data-on]{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary);}
.nt-option[data-on] b{color:var(--primary-ink);}
.nt-option[data-on] .nt-option-mark{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.nt-option:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px;}
@media (max-width:560px){.nt-digest{grid-template-columns:1fr;}.nt-option{min-height:0;}}
.nt-steps{margin:var(--s2) 0 0;padding-left:1.1em;font-size:var(--t-sm);display:flex;flex-direction:column;gap:4px;}

/* Jira and Azure DevOps (README §Decisions 49) */
.in-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.in-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:var(--s3);align-items:center;border-bottom:1px solid var(--rule);padding-bottom:var(--s2);}
.in-kind{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.in-main{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;}
.in-error{display:block;color:var(--attention);font-size:var(--t-sm);}
.in-status{font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink);}
.in-status[data-status="ok"]{background:var(--primary-soft);color:var(--primary-ink);}
.in-status[data-status="failing"]{background:var(--attention-soft);color:var(--ink);}
.in-teams{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
.in-teams th,.in-teams td{text-align:left;padding:var(--s2);border-bottom:1px solid var(--rule);vertical-align:top;}
.in-teams thead th{color:var(--ink-soft);font-weight:600;}
.in-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
.in-link{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;}
.in-howto{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:var(--s2);font-size:var(--t-sm);}
@media (max-width:860px){.in-list li{grid-template-columns:1fr auto;}}

/* Menu groups that fold (README §Decisions 52) */
.nav-group{display:flex;flex-direction:column;}
.nav-group .nav-label{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:var(--s3) var(--s2) var(--s1);border-radius:var(--rad);}
.nav-group .nav-label:hover:not(:disabled){color:var(--ink);background:var(--sunk);}
.nav-group .nav-label:disabled{cursor:default;}
.nav-group .nav-label span:first-child{flex:1;}
.nav-group .nav-label svg{width:14px;height:14px;transition:transform .15s;}
.nav-group[data-open] .nav-label svg{transform:rotate(180deg);}
.nav-group .nav-label .badge{margin-right:2px;}
.banner-slim{padding:4px var(--s3);margin-bottom:var(--s3);gap:var(--s2);font-size:var(--t-xs);}
.btn-link{border:0;background:none;color:var(--primary-ink);font:inherit;font-size:inherit;text-decoration:underline;cursor:pointer;padding:0 4px;}
.menu-row{display:flex;gap:var(--s2);align-items:center;padding:4px 10px 8px;flex-wrap:wrap;}
.menu-row select{max-width:100%;}
@media (max-width:940px){.nav-group{display:contents;}.nav-group .nav-label{display:none;}}

/* Shared charts, stat tiles and tables (README §Decisions 56) */
.chart-grid{stroke:var(--rule);stroke-width:1;}
.chart-value{font-size:11px;font-weight:700;fill:var(--ink);}
.chart-axis{font-size:11px;fill:var(--ink-soft);}
.chart-line,.chart-bar{width:100%;height:auto;display:block;}
.stat{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--rule-strong);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow);}
.stat b{font-size:26px;font-variant-numeric:tabular-nums;line-height:1.15;}
.stat[data-tone="good"]{border-top-color:var(--primary);}
.stat[data-tone="watch"]{border-top-color:var(--warn);}
.stat[data-tone="risk"]{border-top-color:var(--attention);}
.table{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
.table th,.table td{text-align:left;padding:var(--s2);border-bottom:1px solid var(--rule);vertical-align:top;}
.table thead th{color:var(--ink-soft);font-weight:600;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;}
.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.table tbody tr:hover{background:var(--sunk);}

/* Getting started (README §Decisions 57) */
.start{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--primary);border-radius:var(--rad-lg);padding:var(--s3) var(--s4);box-shadow:var(--shadow);margin-bottom:var(--s4);}
.start-head{display:flex;align-items:center;gap:var(--s3);}
.start-head h2{margin:0;font-size:var(--t-md);}
.start-steps{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px var(--s4);}
.start-steps li{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);}
.start-steps li[data-done]{color:var(--ink-soft);text-decoration:line-through;}
.start-mark{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--rule-strong);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none;}
.start-steps li[data-done] .start-mark{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.start-steps a{color:var(--ink);font-weight:500;}

/* AI helpers (README §Decisions 59) */
.ai-box{border:1px dashed var(--rule-strong);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.ai-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;font-weight:600;}
.ai-head span:first-child{flex:1;}
.ai-out{font-size:var(--t-sm);display:flex;flex-direction:column;gap:var(--s2);}
.ai-out ul{margin:4px 0 0;padding-left:1.2em;}

/* Working agreements (README §Decisions 65, 72): a short document per list */
.ag-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
.ag-side{display:flex;flex-direction:column;gap:var(--s4);}
@media (max-width:980px){.ag-layout{grid-template-columns:1fr;}}
.ag-hint{margin:-4px 0 var(--s2);}
/* README §Decisions 138: read-only for developers, with who changes them */
.ag-readonly{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-sm);color:var(--ink-soft);background:var(--sunk);padding:var(--s2) var(--s3);border-radius:var(--rad);}
.ag-readonly .glyph{width:14px;height:14px;flex:none;}
.ag-chip{font-size:var(--t-xs);font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap;background:var(--sunk);color:var(--ink-soft);}
.ag-chip[data-tone="due"]{background:var(--attention-soft);color:var(--attention);}
.ag-chip[data-tone="ok"]{background:var(--good-soft);color:var(--ink);}
.ag-empty{color:var(--ink-faint);font-size:var(--t-sm);padding:var(--s2) 0;}
.ag-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;counter-reset:ag;}
.ag-items li{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 6px 10px 2px;border-radius:10px;border-top:1px solid var(--rule);}
.ag-items li:first-child{border-top-color:transparent;}
.ag-items li:hover,.ag-items li:focus-within{background:var(--paper);border-top-color:transparent;}
.ag-items li:hover+li,.ag-items li:focus-within+li{border-top-color:transparent;}
.ag-items li[data-dragging]{opacity:.45;}
.ag-items li[data-over="before"]{box-shadow:inset 0 3px 0 var(--primary);}
.ag-items li[data-over="after"]{box-shadow:inset 0 -3px 0 var(--primary);}
.ag-handle{flex:none;display:grid;grid-template-columns:repeat(2,4px);gap:3px;padding:6px 3px;margin-top:1px;cursor:grab;border-radius:4px;opacity:0;}
.ag-handle i{width:4px;height:4px;border-radius:50%;background:var(--ink-faint);}
.ag-handle:active{cursor:grabbing;}
.ag-mark{flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;display:grid;place-items:center;}
.ag-items[data-kind="working"] .ag-mark::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);}
.ag-items:not([data-kind="working"]) .ag-mark{background:var(--good-soft);color:var(--good);}
.ag-mark svg{width:12px;height:12px;}
.ag-text{flex:1;min-width:0;text-align:left;font:inherit;font-size:var(--t-md);line-height:1.5;color:var(--ink);background:none;border:0;padding:0;cursor:text;}
button.ag-text:hover{color:var(--primary-ink);}
.ag-edit{flex:1;min-width:0;font:inherit;font-size:var(--t-md);line-height:1.5;padding:6px 10px;resize:vertical;border-color:var(--primary);}
.ag-tools{flex:none;display:flex;gap:2px;opacity:0;}
.ag-tool{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-soft);}
.ag-tool svg{width:15px;height:15px;}
.ag-tool:hover:not(:disabled){background:var(--sunk);color:var(--ink);}
.ag-tool[data-danger]:hover:not(:disabled){background:var(--attention-soft);color:var(--attention);}
.ag-tool:disabled{opacity:.3;}
.ag-items li:hover .ag-tools,.ag-items li:focus-within .ag-tools,.ag-items li:hover .ag-handle,.ag-items li:focus-within .ag-handle{opacity:1;}
@media (hover:none){.ag-tools,.ag-handle{opacity:1;}}
.ag-add-row{display:flex;align-items:center;gap:8px;width:100%;margin-top:var(--s2);padding:10px 12px;border:1.5px dashed var(--rule-strong);border-radius:10px;color:var(--primary-ink);font-weight:700;font-size:var(--t-sm);background:none;}
.ag-add-row:hover{border-color:var(--primary);background:var(--primary-soft);}
.ag-add-row svg{width:15px;height:15px;}
.ag-add{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s2);}
.ag-add textarea{font:inherit;font-size:var(--t-md);padding:8px 10px;resize:vertical;}
.ag-foot{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule);}
.ag-foot .btn{display:inline-flex;align-items:center;gap:6px;}
.ag-foot .btn svg{width:14px;height:14px;}

/* Running a ceremony (README §Decisions 67) */
.run{display:flex;flex-direction:column;gap:var(--s4);min-height:70vh;}
.run-head{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;}
.run-head h1{margin:0;font-size:var(--t-xl);flex:1;}
.run-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--s4);align-items:start;}
.run-now{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s5) var(--s4);text-align:center;display:flex;flex-direction:column;gap:var(--s2);box-shadow:var(--shadow);}
.run-now h2{margin:0;font-size:var(--t-2xl);}
.run-timer{font-size:96px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--primary-ink);margin:var(--s2) 0;}
.run[data-over] .run-timer{color:var(--attention);}
.run-side{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.run-side h3{margin:0;font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.run-steps,.run-parking,.run-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.run-steps li{display:flex;justify-content:space-between;gap:var(--s2);padding:4px 8px;border-radius:var(--rad);}
.run-steps li[data-state="done"]{color:var(--ink-soft);text-decoration:line-through;}
.run-steps li[data-state="now"]{background:var(--primary-soft);font-weight:600;}
.run-jump{border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0;flex:1;}
.run-edit{display:flex;gap:4px;flex:1;}
.run-edit input:first-child{flex:1;min-width:0;}
.run-edit input[type=number],.run-agenda input[type=number]{width:64px;}
.run-parking li{display:flex;justify-content:space-between;gap:var(--s2);padding:4px 0;border-bottom:1px solid var(--rule);}
.run-add{display:flex;gap:var(--s2);}
.run-add input{flex:1;min-width:0;font:inherit;}
.run-plan{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);max-width:720px;}
.run-plan h2{margin:0;}
.run-agenda li{display:flex;gap:var(--s2);}
.run-agenda input:first-child{flex:1;min-width:0;}
@media (max-width:860px){.run-body{grid-template-columns:1fr;}.run-timer{font-size:64px;}}

/* Follow-through and coaching prompts (README §Decisions 68) */
.ft-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);margin-bottom:var(--s3);}
.co-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.co-list>li{border-left:4px solid var(--primary);padding-left:var(--s3);display:flex;flex-direction:column;gap:4px;}
.co-list ol{margin:4px 0 0;padding-left:1.3em;}
.co-list p{margin:0;font-size:var(--t-sm);color:var(--ink-soft);}

/* API and webhooks (README §Decisions 69) */
.api-shown{background:var(--primary-soft);border-radius:var(--rad);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s3);}
.api-shown code{word-break:break-all;font-size:var(--t-sm);}
.api-list{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-direction:column;gap:6px;}
.api-list li{display:flex;justify-content:space-between;gap:var(--s2);align-items:center;border-bottom:1px solid var(--rule);padding-bottom:6px;}
.api-add{display:flex;gap:var(--s2);margin-bottom:var(--s2);}
.api-add input{flex:1;min-width:0;font:inherit;}
.api-events{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);margin-bottom:var(--s2);font-size:var(--t-sm);}

/* ==========================================================================
   Design pass "Stave" (README §Decisions 71). The page and the menu share the page colour so white
   surfaces lead; titles and big numbers are set in the display face (DejaVu Sans Bold since §139); the menu speaks in sentence
   case; one bold element per screen at most. Selectors match the rules they refine.
   ========================================================================== */
/* DejaVu Sans keeps its own spacing (README §Decisions 139): no extra word spacing. */
body{letter-spacing:0;word-spacing:0;}
h1,h2,h3{letter-spacing:-.005em;}
h1{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:-.01em;line-height:1.15;}
h2{font-size:16.5px;font-weight:700;}
a{text-underline-offset:.18em;text-decoration-thickness:1px;}

/* shell: the menu sits on the page, quiet until needed */
.rail{background:var(--paper);border-right:1px solid var(--rule);padding:var(--s5) var(--s3) var(--s4);gap:var(--s4);}
.brand{padding:0 var(--s2) var(--s1);}
.brand b{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.01em;}
.nav{gap:1px;}
.nav a{padding:6px 10px;border-radius:var(--rad);font-size:14.5px;color:var(--ink-soft);gap:10px;}
.nav a svg{opacity:.85;}
.nav a:hover{background:var(--sunk);color:var(--ink);}
.nav a[aria-current="page"]{background:var(--primary-soft);color:var(--primary-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--primary);}
.nav a[aria-current="page"] svg{opacity:1;}
.nav .badge{background:var(--attention);color:#fff;font-size:11.5px;font-weight:700;padding:0 7px;line-height:18px;border-radius:999px;min-width:20px;text-align:center;}
.nav-group .nav-label{font-size:12.5px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink-faint);padding:var(--s3) 10px var(--s1);}
.search-btn{background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow);}

/* the page */
.main{padding:var(--s5) 40px 64px;max-width:1220px;}
.topbar{margin-bottom:var(--s5);align-items:flex-end;}
/* inside a stack the stack's own gap spaces the title from what follows */
.stack>.topbar{margin-bottom:0;}
.topbar .date{font-size:var(--t-sm);margin-top:6px;color:var(--ink-soft);}
.lead{font-size:var(--t-md);line-height:1.55;}
.banner{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--rad);box-shadow:var(--shadow);padding:6px var(--s3);}

/* surfaces: a crisp edge, a whisper of shadow, generous insides */
.panel{border-radius:var(--rad-lg);border:1px solid var(--rule);box-shadow:var(--shadow);}
.panel-head{padding:18px 20px 12px;}
.panel-head .count{font-size:var(--t-sm);font-weight:700;color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.panel-body{padding:0 20px 20px;}
.panel-foot{padding:var(--s3) 20px;}
.stat{border:1px solid var(--rule);border-top:1px solid var(--rule);border-radius:12px;padding:14px 16px;box-shadow:none;background:var(--surface);position:relative;overflow:hidden;}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rule-strong);}
.stat[data-tone="good"]::before{background:var(--good);}
.stat[data-tone="watch"]::before{background:var(--warn);}
.stat[data-tone="risk"]::before{background:var(--attention);}
.stat b{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.05;}
.table thead th{text-transform:none;letter-spacing:0;font-size:var(--t-xs);font-weight:700;color:var(--ink-faint);}
.table th,.table td{padding:10px var(--s2);}

/* controls */
.btn{border-radius:var(--rad);padding:7px 14px;font-weight:700;font-size:var(--t-sm);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);box-shadow:0 1px 1px rgba(14,57,39,.04);}
.btn:hover:not(:disabled){background:var(--sunk);}
.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px rgba(14,57,39,.25);}
.btn-primary:hover:not(:disabled){background:var(--primary-ink);border-color:var(--primary-ink);}
.btn-quiet{border-color:transparent;background:none;box-shadow:none;color:var(--primary-ink);padding:5px 8px;}
.btn-danger{color:var(--attention);border-color:var(--attention);background:var(--surface);}
input,textarea,select{border-radius:var(--rad);border-color:var(--rule-strong);}
.seg{border-radius:var(--rad);border-color:var(--rule-strong);}
.chip{border-radius:999px;padding:2px 10px;font-weight:700;}
.privacy-note{border-radius:var(--rad);background:var(--sunk);}
dialog{border-radius:16px;box-shadow:var(--shadow-pop);}
dialog::backdrop{background:rgba(8,26,18,.45);}
.menu-pop{border-radius:12px;box-shadow:var(--shadow-pop);}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}

/* the day ribbon, drawn like a stave: hairline lines, rounded notes, a coral now (README §Decisions 139) */
.ribbon-row{border-top:1px solid var(--rule);}
.ribbon-row:last-child{border-bottom:1px solid var(--rule);}
.ribbon-name a{font-weight:700;}
.cer{border-radius:10px;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--r-mid);box-shadow:0 1px 2px rgba(14,57,39,.06);padding:3px 8px;}
.cer:hover{border-color:var(--rule-strong);box-shadow:0 4px 12px -6px rgba(14,57,39,.25);}
.cer b{font-weight:700;}
.cer .score{font-family:var(--font-display);font-weight:700;font-size:13px;}
.cer[data-flag]{background:var(--attention-soft);border-color:var(--attention-soft);}
.now{width:2px;background:var(--accent);}
.now::before{top:-4px;left:-4px;width:10px;height:10px;background:var(--accent);box-shadow:0 0 0 3px var(--surface);}

/* the menu group of the current page is open and fixed; it reads as "you are here", not as disabled */
.nav-group .nav-label:disabled{opacity:1;color:var(--ink);}
.nav-group .nav-label:disabled svg{visibility:hidden;}

/* the dashboard in the same voice: sentence-case widget titles, no gradient wash, titles and big
   numbers in the display face, one gap between the checklist and the widgets */
.db-grid{gap:var(--s4);align-items:start;}
.db-widget{border-radius:var(--rad-lg);padding:16px 18px;gap:10px;}
.db-widget h3{font-size:14.5px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink);}
.db-widget[data-kind="greeting"]{background:var(--surface);}
.db-hello{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.15;}
.db-quote{border-left-color:var(--accent);}
.db-big{font-family:var(--font-display);letter-spacing:-.01em;}
.db-bar{border-radius:999px;}
.db-bar i{border-radius:999px;}
.stack>.start{margin-bottom:0;}
.start{border-radius:var(--rad-lg);border-left-color:var(--accent);}
.db-big small{font-family:var(--font-text);font-weight:400;letter-spacing:0;}
/* the greeting says its own name; its widget title stays for screen readers */
.db-widget[data-kind="greeting"] header h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Capacity as a calendar (README §Decisions 72): Monday to Friday wide, the weekend narrow and grey */
.cap-cal{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:12px;overflow:hidden;}
.cap-cal-head,.cap-cal-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.45fr));}
.cap-cal-head span{padding:8px 10px;font-size:var(--t-xs);font-weight:700;color:var(--ink-faint);background:var(--sunk);border-bottom:1px solid var(--rule);}
.cap-cal-head span+span{border-left:1px solid var(--rule);}
.cap-cal-week+.cap-cal-week{border-top:1px solid var(--rule);}
.cap-day{position:relative;min-height:104px;padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;background:var(--surface);}
.cap-day+.cap-day{border-left:1px solid var(--rule);}
.cap-day[data-weekend]{background:var(--sunk);min-height:0;}
.cap-day[data-out]{background:var(--paper);}
.cap-day[data-out] .cap-date{color:var(--ink-faint);font-weight:400;}
.cap-date{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1;letter-spacing:-.01em;color:var(--ink);}
.cap-date small{font-family:var(--font-text);font-size:var(--t-xs);font-weight:700;color:var(--ink-faint);letter-spacing:0;}
.cap-day[data-weekend] .cap-date{font-size:15px;color:var(--ink-faint);}
.cap-day[data-today] .cap-date{display:inline-grid;place-items:center;align-self:flex-start;min-width:30px;height:30px;padding:0 6px;border-radius:999px;background:var(--primary);color:var(--on-primary);margin:-5px 0 -3px -6px;}
.cap-day[data-holiday]{background:var(--warn-soft);}
.cap-holiday{font-size:var(--t-xs);font-weight:700;color:var(--warn);line-height:1.25;}
.cap-away{display:flex;flex-wrap:wrap;gap:4px;}
.cap-away i{font-style:normal;font-size:11px;font-weight:700;line-height:22px;min-width:26px;padding:0 6px;border-radius:999px;text-align:center;background:var(--attention-soft);color:var(--attention);}
.cap-away i[data-mine]{background:var(--attention);color:#fff;}
html[data-theme="dark"] .cap-away i[data-mine]{color:var(--paper);}
.cap-count{margin-top:auto;font-size:var(--t-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.cap-count[data-short]{color:var(--ink-soft);font-weight:700;}
.cap-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.cap-people li{display:grid;grid-template-columns:36px minmax(0,1.6fr) minmax(80px,1fr) 72px;align-items:center;gap:var(--s3);padding:10px 0;border-top:1px solid var(--rule);}
.cap-people li:first-child{border-top:0;padding-top:2px;}
.cap-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-ink);font-weight:700;font-size:var(--t-sm);}
.cap-people li[data-mine] .cap-avatar{background:var(--primary);color:var(--on-primary);}
.cap-who{display:flex;flex-direction:column;min-width:0;}
.cap-who b{font-weight:700;}
.cap-bar{height:8px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.cap-bar i{display:block;height:100%;border-radius:999px;background:var(--primary);}
.cap-days{text-align:right;white-space:nowrap;}
.cap-days b{font-family:var(--font-display);font-size:18px;letter-spacing:-.01em;}
@media (max-width:760px){
  .cap-cal-head,.cap-cal-week{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.35fr));}
  .cap-day{min-height:78px;padding:6px;}
  .cap-count{display:none;}
  .cap-people li{grid-template-columns:32px minmax(0,1fr) 56px;}
  .cap-bar{display:none;}
}
.cap-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
@media (max-width:900px){.cap-bottom{grid-template-columns:minmax(0,1fr);}}
.cap-absences{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-direction:column;}
.cap-absences li{display:flex;align-items:center;gap:var(--s3);padding:8px 0;border-top:1px solid var(--rule);}
.cap-absences li>b{flex:1;min-width:0;font-weight:700;}
.cap-absences li>span:first-child:not(.cap-avatar){flex:1;}
.cap-absences .cap-avatar{width:30px;height:30px;font-size:12px;}
.cap-range{font-size:var(--t-sm);font-weight:700;color:var(--ink-soft);background:var(--sunk);border-radius:999px;padding:2px 10px;white-space:nowrap;}
/* the sentence gets the full width: the handle sits in the left margin, the tools float over the right end while hovered */
.ag-items li{padding:8px 8px 8px 24px;border-top:0;gap:10px;}
.ag-items li:first-child{border-top:0;}
.ag-handle{position:absolute;left:4px;top:10px;margin:0;}
.ag-tools{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding-left:28px;background:linear-gradient(to right,transparent,var(--paper) 26px);}
@media (hover:none){.ag-tools{position:static;transform:none;padding-left:0;background:none;}.ag-items li{padding-left:24px;}}

/* Which retro formats work (README §Decisions 73) */
.fmt-worked{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:14px 16px;margin:var(--s3) 0;}
.fmt-worked h4{margin:0 0 2px;font-size:var(--t-md);}
.fmt-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s4);margin-top:var(--s3);}
.fmt-list>b{font-size:var(--t-sm);color:var(--ink-soft);}
.fmt-list ol{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.fmt-list li{display:grid;grid-template-columns:minmax(0,1fr) 70px auto;align-items:center;gap:var(--s2);}
.fmt-list li button{text-align:left;font-weight:700;color:var(--primary-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fmt-list li button:hover{text-decoration:underline;}
.fmt-bar{height:6px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.fmt-bar i{display:block;height:100%;border-radius:999px;background:var(--r-ok);}
.fmt-num{white-space:nowrap;font-size:var(--t-sm);}
.fmt-num b{font-family:var(--font-display);}
.fmt-score{font-family:var(--font-display);font-weight:700;font-size:var(--t-sm);background:var(--good-soft);color:var(--ink);border-radius:999px;padding:1px 8px;margin-right:var(--s2);}
.method-section{text-transform:none;letter-spacing:0;font-size:var(--t-sm);color:var(--ink-soft);}

/* The welcome page (README §Decisions 73) */
.wel-hero{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);box-shadow:var(--shadow);padding:22px 26px;border-top:4px solid var(--accent);display:flex;flex-direction:column;gap:10px;}
.wel-kicker{font-size:var(--t-sm);font-weight:700;color:var(--ink-soft);}
.wel-hero blockquote{margin:0;font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.25;letter-spacing:-.01em;max-width:34ch;}
.wel-sprint{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:12px;border-top:1px solid var(--rule);}
.wel-sprint p{flex-basis:100%;margin:0;}
.wel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--s4);align-items:start;}
@media (max-width:980px){.wel-grid{grid-template-columns:1fr;}}
.wel-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px;}
.wel-people li{display:flex;align-items:center;gap:10px;}
.wel-people li>span:last-child{display:flex;flex-direction:column;min-width:0;}
.wel-rhythm{list-style:none;margin:0;padding:0 0 0 6px;display:flex;flex-direction:column;gap:14px;position:relative;}
.wel-rhythm::before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:2px;background:var(--rule);}
.wel-rhythm li{display:flex;gap:12px;align-items:flex-start;position:relative;}
.wel-rhythm li>span:last-child{display:flex;flex-direction:column;}
.wel-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--surface);margin-top:5px;flex:none;}
.wel-note{margin-top:var(--s3);}
.wel-list li{padding-left:2px;}
.wel-list li:hover{background:none;}

/* Agenda ahead, meeting load, suggestion box, handover (README §Decisions 74) */
.run-ahead{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);cursor:pointer;}
.run-ahead input{margin-top:3px;}
.run-ahead>span{display:flex;flex-direction:column;gap:2px;}
.ml-head{display:flex;align-items:baseline;gap:6px 16px;flex-wrap:wrap;margin-bottom:var(--s3);}
.ml-big b{font-family:var(--font-display);font-size:34px;letter-spacing:-.01em;line-height:1;}
.ml-verdict{font-size:var(--t-sm);font-weight:700;padding:2px 10px;border-radius:999px;background:var(--good-soft);color:var(--ink);}
.ml-verdict[data-over]{background:var(--warn-soft);color:var(--warn);}
.ml-track{position:relative;display:flex;height:16px;border-radius:999px;background:var(--sunk);overflow:visible;margin:var(--s4) 0 var(--s3);}
.ml-track>i:first-child{border-radius:999px 0 0 999px;}
.ml-track>i{height:100%;}
.ml-guide{position:absolute;top:-8px;bottom:-8px;width:2px;background:var(--ink);}
.ml-guide span{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--ink-soft);white-space:nowrap;}
.ml-legend{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--t-sm);}
.ml-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;}
.sg-done{display:flex;gap:var(--s3);align-items:flex-start;}
.sg-done-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--good-soft);color:var(--good);flex:none;}
.sg-done-mark svg{width:20px;height:20px;}
.sg-done .btn{margin-top:var(--s3);}
.sg-done textarea{font:inherit;}
.nb-handover{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink-soft);margin-left:auto;cursor:pointer;}
.ho-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ho-list li{display:flex;flex-direction:column;}
.ho-compact{gap:6px;}
.ho-compact li{flex-direction:row;justify-content:space-between;gap:var(--s3);}
.ho-health{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.ho-health li{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:var(--s2);}
.ho-health b{font-family:var(--font-display);text-align:right;}
.ho-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.ho-notes li{border-left:3px solid var(--accent);padding-left:var(--s3);}
.ho-notes p{margin:0 0 4px;}
@media print{.ho .panel{break-inside:avoid;box-shadow:none;}.ho .wel-grid{grid-template-columns:1fr 1fr;}}
.ml-guide span{background:var(--surface);padding:0 5px;border-radius:4px;}
/* table headings speak in sentence case everywhere (README §Decisions 71) */
thead th{text-transform:none;letter-spacing:0;}

/* Sentence case everywhere (README §Decisions 74): small labels keep their weight and colour, not capitals */
.nav-label,.method-section,.tc-row-label,.tc-from,.ms-focus h4,.pi-now-label,.pi-card-meta,.ob-level,.ob-kind,.ip-qlabel,.db-widget h3,
.cc-table th,.cmd-kind,.okr-owner,.pm-kind,.in-kind,.nav-group .nav-label,.table thead th,.run-side h3{text-transform:none;letter-spacing:0;}
.pi-card-meta,.ob-kind{font-size:11px;}
/* a panel without a title keeps its inner space at the top */
.panel>.panel-body:first-child{padding-top:18px;}

/* The stakeholder page (README §Decisions 75) */
.stake-head{display:flex;flex-direction:column;gap:8px;padding-bottom:var(--s4);border-bottom:1px solid var(--rule);margin-bottom:var(--s4);}
.stake-team{font-size:var(--t-sm);font-weight:700;color:var(--ink-soft);}
.stake-goal{margin:4px 0 0;font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.25;letter-spacing:-.01em;border-left:4px solid var(--accent);padding-left:12px;}
.stake-goal span{display:block;font-family:var(--font-text);font-size:var(--t-xs);font-weight:700;letter-spacing:0;color:var(--ink-soft);margin-bottom:2px;}
.stake-when{margin:4px 0 0;}
.stake-items{margin-bottom:var(--s4);}
.stake-items h2,.stake-form-title{font-size:var(--t-lg);margin:0 0 var(--s2);}
.stake-items ol{margin:0;padding:0;list-style:none;counter-reset:stake;display:flex;flex-direction:column;gap:8px;}
.stake-items li{counter-increment:stake;display:flex;gap:10px;align-items:baseline;}
.stake-items li::before{content:counter(stake);flex:none;width:24px;height:24px;border-radius:50%;background:var(--primary-soft);color:var(--primary-ink);font-weight:700;font-size:var(--t-xs);display:grid;place-items:center;transform:translateY(-1px);}

/* The leadership report as slides (README §Decisions 75): a 16:9 stage, one slide per landscape page in print */
.deck{position:fixed;inset:0;z-index:60;background:#0B1E16;display:flex;align-items:center;justify-content:center;padding:56px 24px 72px;}
.deck-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:var(--s3);padding:10px 18px;color:#B3C6BB;}
.deck-bar .thin{color:#B3C6BB;}
.deck-dots{display:flex;gap:6px;flex:1;justify-content:center;}
.deck-dots i{width:8px;height:8px;border-radius:50%;background:#2D4A3E;}
.deck-dots i[data-on]{background:var(--accent);}
.deck-bar .btn-quiet{color:#E8F0EB;}
.slide{display:none;position:relative;width:min(100%,calc((100vh - 128px) * 16 / 9));aspect-ratio:16/9;background:var(--surface);color:var(--ink);border-radius:18px;padding:5% 6% 7%;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;flex-direction:column;gap:3%;}
.slide[data-active]{display:flex;}
.slide-title{margin:0;font-family:var(--font-display);font-size:clamp(22px,3.2vw,44px);letter-spacing:-.01em;line-height:1.05;}
.slide-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;font-size:clamp(14px,1.6vw,22px);}
.slide-foot{position:absolute;left:6%;right:6%;bottom:4%;display:flex;justify-content:space-between;font-size:clamp(10px,1vw,14px);color:var(--ink-faint);border-top:1px solid var(--rule);padding-top:1.2%;}
.slide-cover{display:flex;flex-direction:column;gap:12px;border-left:8px solid var(--accent);padding-left:4%;}
.slide-cover h1{font-size:clamp(30px,5vw,68px);margin:0;}
.slide-cover p{margin:0;font-size:clamp(14px,1.8vw,24px);font-weight:700;color:var(--ink-soft);}
.slide-highlights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.6vh;}
.slide-highlights li{padding-left:1.4em;position:relative;line-height:1.35;}
.slide-highlights li::before{content:"";position:absolute;left:0;top:.45em;width:.6em;height:.6em;border-radius:50%;background:var(--primary);}
.slide-highlights li[data-tone="good"]::before{background:var(--good);}
.slide-highlights li[data-tone="risk"]::before{background:var(--attention);}
.slide-highlights li[data-tone="watch"]::before{background:var(--warn);}
.slide-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vh 2vw;}
.slide-kpis .stat b{font-size:clamp(24px,3.4vw,48px);}
.slide-chart{height:100%;display:flex;align-items:center;}
.slide-chart>*{width:100%;}
.slide-table td{font-size:inherit;padding:1.2vh .6vw;}
.slide-okrs li{grid-template-columns:minmax(0,1fr) 30% auto;}
.deck-nav{position:absolute;bottom:14px;right:18px;display:flex;gap:8px;}
.deck-nav svg{transform:rotate(-90deg);}
@media print{
  @page{size:A4 landscape;margin:0;}
  body:has(.deck) .rail,body:has(.deck) .topbar,body:has(.deck) .demo-banner,body:has(.deck) .banner{display:none!important;}
  .deck{position:static;display:block;background:none;padding:0;}
  .slide{display:flex!important;width:297mm;height:210mm;aspect-ratio:auto;border-radius:0;box-shadow:none;break-after:page;page-break-after:always;padding:18mm 20mm 22mm;}
  .slide-title{font-size:30pt;}.slide-body{font-size:15pt;}.slide-cover h1{font-size:44pt;}
}
.slide:last-of-type{break-after:auto;page-break-after:auto;}

/* The compact meeting window (README §Decisions 75): no menu or banners, one column, a smaller timer */
body[data-compact] .app{grid-template-columns:1fr;}
body[data-compact] .rail,body[data-compact] .banner,body[data-compact] .demo-banner{display:none!important;}
body[data-compact] .main{padding:12px 14px 20px;max-width:none;}
body[data-compact] .run-head h1{font-size:19px;}
body[data-compact] .run-body{grid-template-columns:1fr;gap:12px;}
body[data-compact] .run-now{padding:16px 14px;}
body[data-compact] .run-now h2{font-size:20px;}
body[data-compact] .run-timer{font-size:58px;}
body[data-compact] .run-side{padding:12px;}

/* A platform guard, not a style (README §Decisions 75): at 16px or more iOS Safari never zooms the page
   when a field gets focus, so no later rule may shrink a phone's fields. */
@media (max-width:560px){input,textarea,select{font-size:16px!important;}}

/* Benchmarks (README §Decisions 77) */
.bm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.bm-list li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(120px,1fr) 64px;align-items:center;gap:var(--s3);padding:10px 0;border-top:1px solid var(--rule);}
.bm-list li:first-child{border-top:0;}
.bm-label{display:flex;flex-direction:column;min-width:0;}
.bm-range{position:relative;height:18px;border-radius:999px;background:var(--sunk);}
.bm-band{position:absolute;top:4px;bottom:4px;border-radius:999px;background:var(--primary-soft);}
.bm-median{position:absolute;top:1px;bottom:1px;width:2px;margin-left:-1px;background:var(--primary-ink);}
.bm-own{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px var(--surface);}
.bm-list li[data-tone="good"] .bm-own{background:var(--good);}
.bm-list li[data-tone="watch"] .bm-own{background:var(--warn);}
.bm-own-value{text-align:right;font-family:var(--font-display);font-weight:700;font-size:17px;white-space:nowrap;}
.bm-foot{margin-top:var(--s2);}
@media (max-width:640px){.bm-list li{grid-template-columns:minmax(0,1fr) 56px;}.bm-range{grid-column:1 / -1;grid-row:2;}}
.bm-band{background:color-mix(in srgb,var(--primary) 26%,transparent);}

/* Drag and drop on the retro board (README §Decisions 78) */
.note[data-draggable]{cursor:grab;}
.note[data-draggable]:active{cursor:grabbing;}
.note[data-dragging]{opacity:.45;}
.col[data-drop]{border-radius:var(--rad-lg);outline:2px dashed transparent;outline-offset:6px;transition:outline-color .12s,background-color .12s;}
.col[data-drop="ready"]{outline-color:var(--rule-strong);}
.col[data-drop="over"]{outline-color:var(--primary);background:var(--primary-soft);}
/* while a card is dragged, every lane is also a target at the bottom of the screen */
.drop-dock{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 40px);padding:10px 12px;background:var(--surface);border:1px solid var(--rule);border-radius:16px;box-shadow:var(--shadow-pop);}
.drop-dock .thin{padding:0 4px;}
.drop-dock-lane{padding:10px 16px;border:2px dashed var(--rule-strong);border-radius:12px;font-weight:700;font-size:var(--t-sm);color:var(--ink);min-width:88px;text-align:center;}
.drop-dock-lane[data-over]{border-style:solid;border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);}
.drop-dock-lane[data-here]{opacity:.45;}

/* From the meetings (README §Decisions 79) */
.mi-list{list-style:none;margin:var(--s2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.mi-list>li{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);}
.mi-list>li p{margin:0;}
.mi-list ul{margin:0;padding-left:1.2em;font-size:var(--t-sm);}
.mi-head{display:flex;justify-content:space-between;gap:var(--s2);align-items:baseline;flex-wrap:wrap;}
.mi-tone{font-size:var(--t-xs);font-weight:700;border-radius:999px;padding:2px 10px;background:var(--sunk);color:var(--ink-soft);}
.mi-tone[data-tone="positive"]{background:var(--good-soft);color:var(--ink);}
.mi-tone[data-tone="negative"]{background:var(--attention-soft);color:var(--attention);}
.mi-label{font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}

/* Already raised? and possible duplicates (README §Decisions 80) */
.dup-hint{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--warn);border-radius:12px;background:var(--warn-soft);margin:var(--s2) 0;}
.dup-item{display:flex;gap:var(--s3);align-items:center;justify-content:space-between;flex-wrap:wrap;}
.dup-text{display:flex;flex-direction:column;min-width:0;flex:1;}
.dup-hint .thin{color:var(--ink-soft);}
.imp-raised{font-weight:700;}
.dup-list{list-style:none;margin:var(--s2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s3);}
.dup-list>li{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);}
.dup-head{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;}
.dup-score{font-size:var(--t-xs);font-weight:700;border-radius:999px;padding:2px 10px;background:var(--sunk);color:var(--ink-soft);}
.dup-score[data-likely]{background:var(--primary-soft);color:var(--primary-ink);}
.dup-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);}
@media (max-width:700px){.dup-pair{grid-template-columns:1fr;}}
.dup-side{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;background:var(--paper);border:1px solid var(--rule);}
.dup-side[data-role="keep"]{border-color:var(--primary);}
.dup-role{font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}
.dup-side[data-role="keep"] .dup-role{color:var(--primary-ink);}

/* The Meeting Persona Assessment (README §Decisions 81) */
.mp-intro{max-width:820px;}
.mp-lead{font-size:var(--t-lg);line-height:1.55;margin:0 0 var(--s3);}
.mp-instructions{margin:var(--s1) 0 var(--s3);padding-left:1.2em;display:flex;flex-direction:column;gap:6px;}
.mp-enhance{background:var(--primary-soft);border-radius:12px;padding:14px 16px;margin-bottom:var(--s3);}
.mp-enhance p{margin:4px 0 0;}
.mp-start{padding:12px 22px;font-size:var(--t-md);}
.mp-test{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s2) 0;}
.mp-progress{height:6px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.mp-progress i{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .2s;}
.mp-statement{font-family:var(--font-display);font-size:28px;line-height:1.25;letter-spacing:-.01em;min-height:3.8em;margin:var(--s2) 0;text-wrap:balance;}
.mp-scale{display:flex;align-items:center;gap:var(--s3);justify-content:center;padding:var(--s3) 0;}
.mp-end{font-weight:700;font-size:var(--t-sm);color:var(--ink-soft);min-width:70px;text-align:center;}
.mp-circles{display:flex;align-items:center;gap:14px;}
.mp-circle{border-radius:50%;border:2.5px solid var(--primary);background:transparent;cursor:pointer;padding:0;flex:none;transition:transform .1s,background-color .1s;}
.mp-circle[data-side="middle"]{border-color:var(--ink-faint);}
.mp-circle[data-side="disagree"]{border-color:var(--warn);}
.mp-circle:hover:not(:disabled){transform:scale(1.08);}
.mp-circle[data-side="agree"]:hover,.mp-circle[data-side="agree"][aria-pressed="true"]{background:var(--primary);}
.mp-circle[data-side="middle"]:hover,.mp-circle[data-side="middle"][aria-pressed="true"]{background:var(--ink-faint);}
.mp-circle[data-side="disagree"]:hover,.mp-circle[data-side="disagree"][aria-pressed="true"]{background:var(--warn);}
@media (max-width:560px){.mp-circles{gap:8px;}.mp-circle{transform:scale(.82);}.mp-end{min-width:0;font-size:var(--t-xs);}.mp-statement{font-size:22px;}}
.mp-hero{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--primary);border-radius:var(--rad-lg);box-shadow:var(--shadow);padding:22px 26px;display:flex;flex-direction:column;gap:12px;}
.mp-kicker{font-size:var(--t-sm);font-weight:700;color:var(--ink-soft);}
.mp-hero h2{margin:0;font-family:var(--font-display);font-size:44px;letter-spacing:-.01em;line-height:1;}
.mp-traits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);}
@media (max-width:700px){.mp-traits{grid-template-columns:1fr;}}
.mp-label{display:block;font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);margin-bottom:6px;}
.mp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.mp-chip{font-size:var(--t-sm);font-weight:700;border-radius:999px;padding:4px 12px;background:var(--good-soft);color:var(--ink);}
.mp-chips[data-tone="pitfall"] .mp-chip{background:var(--warn-soft);}
.mp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
@media (max-width:980px){.mp-grid{grid-template-columns:1fr;}}
.mp-about p{margin:0 0 var(--s2);line-height:1.6;}
.mp-compat{display:flex;flex-direction:column;gap:var(--s3);}
.mp-compat>div{padding:12px 14px;border-radius:12px;border:1px solid var(--rule);background:var(--paper);}
.mp-compat>div[data-kind="most"]{border-color:var(--good);}
.mp-compat p{margin:4px 0 0;font-size:var(--t-sm);color:var(--ink-soft);}
.mp-scores{list-style:none;margin:var(--s2) 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.mp-scores li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(80px,1fr) 44px;align-items:center;gap:var(--s2);font-size:var(--t-sm);}
.mp-scores li[data-mine]{font-weight:700;}
.mp-bar{height:8px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.mp-bar i{display:block;height:100%;border-radius:999px;background:var(--rule-strong);}
.mp-scores li[data-mine] .mp-bar i{background:var(--primary);}
.mp-scores li b{text-align:right;font-family:var(--font-display);}
.org-features{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;}

/* Retro follow-up (README §Decisions 83) */
.fu-todo{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:12px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);}
.fu-todo>svg{width:18px;height:18px;color:var(--primary);flex:none;}
.fu-todo>span{flex:1;min-width:220px;}
.fu-warn{margin:0;padding:10px 14px;border-radius:12px;background:var(--warn-soft);font-weight:700;}
.fu-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);align-items:start;}
@media (max-width:980px){.fu-board{grid-template-columns:1fr;}}
.fu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.fu-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);}
.fu-card[data-overdue]{border-color:var(--attention);}
.fu-card[data-state="done"] .fu-title,.fu-card[data-state="dropped"] .fu-title{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:1px;}
.fu-title{font-weight:700;line-height:1.35;}
.fu-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:var(--t-sm);}
.fu-meta select{max-width:190px;}
.fu-meta select[data-missing]{border-color:var(--warn);background:var(--warn-soft);}
.fu-noowner{color:var(--warn);font-weight:700;}
.fu-overdue{color:var(--attention);font-weight:700;}
.fu-chip{font-size:var(--t-xs);font-weight:700;border-radius:999px;padding:1px 8px;background:var(--sunk);color:var(--ink-soft);}
.fu-chip[data-todo]{background:var(--primary-soft);color:var(--primary-ink);}
.fu-chip[data-exp]{background:var(--good-soft);color:var(--ink);}
.fu-chip[data-state="doing"]{background:var(--warn-soft);color:var(--ink);}
.fu-actions{display:flex;flex-wrap:wrap;gap:6px;}
.fu-actions .btn svg{width:14px;height:14px;}

/* PI preparation (README §Decisions 85) */
.pp-bar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:12px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);}
.pp-bar>span:first-child{flex:1;min-width:220px;}
.pp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.pp-list li{position:relative;display:flex;align-items:flex-start;gap:12px;padding:10px 8px 10px 26px;border-top:1px solid var(--rule);border-radius:10px;}
.pp-list li:first-child{border-top:0;}
.pp-list li:hover,.pp-list li:focus-within{background:var(--paper);}
.pp-list li[data-gone] .pp-title{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:1px;}
.pp-list li[data-over="before"]{box-shadow:inset 0 3px 0 var(--primary);}
.pp-list li[data-over="after"]{box-shadow:inset 0 -3px 0 var(--primary);}
.pp-handle{position:absolute;left:4px;top:16px;}
.pp-list li:hover .pp-handle,.pp-list li:focus-within .pp-handle{opacity:1;}
.pp-rank{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary-ink);font-family:var(--font-display);font-weight:700;display:grid;place-items:center;font-size:var(--t-sm);}
.pp-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.pp-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;}
.pp-key{font-size:var(--t-xs);font-weight:700;color:var(--primary-ink);}
.pp-title{font-weight:700;}
.pp-gone{background:var(--warn-soft)!important;color:var(--ink)!important;}
.pp-note{width:100%;font:inherit;font-size:var(--t-sm);padding:6px 8px;min-height:34px;resize:vertical;border-color:var(--rule);background:transparent;}
.pp-note:focus{background:var(--surface);border-color:var(--primary);}
.pp-tools{flex:none;display:flex;gap:2px;}
.pp-push{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:16px 18px;border:1px solid var(--primary);border-radius:14px;background:var(--primary-soft);}
.pp-push p{margin:2px 0 6px;}

/* Team Lab (README §Decisions 86) */
.lab-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;}
.lab-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s4);align-items:center;padding:26px 28px;border-radius:var(--rad-lg);background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);overflow:hidden;}
.lab-hero h2{margin:0 0 8px;font-family:var(--font-display);font-size:30px;line-height:1.1;letter-spacing:-.01em;}
.lab-hero p{margin:0;color:var(--ink-soft);font-size:var(--t-md);line-height:1.5;}
.lab-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;transform:rotate(-4deg);margin:-8px -6px;}
.lab-collage .lab-cover{box-shadow:0 10px 24px rgba(14,57,39,.18);}
.lab-collage>:nth-child(2){transform:translateY(16px);}.lab-collage>:nth-child(3){transform:translateY(-10px);}
@media (max-width:860px){.lab-hero{grid-template-columns:1fr;}.lab-collage{display:none;}}
.lab-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.lab-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);font-weight:700;font-size:var(--t-sm);color:var(--ink);}
.lab-chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.lab-search{margin-left:auto;min-width:220px;}
.lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4);}
.lab-grid-reco{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));}
.lab-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s;}
.lab-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(14,57,39,.12);}
.lab-card .lab-cover{border-radius:0;}
.lab-card-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1;}
.lab-card-body b{font-size:var(--t-md);line-height:1.3;}
.lab-sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;}
.lab-card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:8px;align-items:center;}
.lab-kind{position:absolute;top:10px;left:10px;font-size:var(--t-xs);font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#18332A;}
.lab-detail-head .lab-kind{position:static;align-self:flex-start;background:var(--sunk);color:var(--ink);}
.lab-reason{align-self:flex-start;font-size:var(--t-xs);font-weight:700;padding:2px 9px;border-radius:999px;background:var(--warn-soft);color:var(--ink);}
.lab-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--t-xs);color:var(--ink-soft);}
.lab-meta span+span::before{content:"· ";}
.lab-rated{font-size:var(--t-xs);font-weight:700;color:var(--ink);white-space:nowrap;}
.lab-plan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.lab-plan li{display:flex;align-items:center;gap:var(--s3);padding:10px 0;border-top:1px solid var(--rule);}
.lab-plan li:first-child{border-top:0;}
.lab-plan-cover{flex:none;width:72px;}.lab-plan-cover .lab-cover{border-radius:8px;}
.lab-plan-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.lab-plan li[data-done] .lab-plan-main b{color:var(--ink-soft);}
.lab-stars{display:flex;gap:2px;}
.lab-stars button{font-size:20px;line-height:1;padding:2px 3px;color:var(--rule-strong);background:none;border:0;}
.lab-stars button[aria-pressed="true"],.lab-stars button[aria-pressed="true"]~button{color:var(--rule-strong);}
.lab-stars:has(button[aria-pressed="true"]) button{color:var(--accent);}
.lab-stars button[aria-pressed="true"]~button{color:var(--rule-strong)!important;}
.lab-back{align-self:flex-start;}
.lab-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--s5,28px);align-items:center;}
.lab-cover-big{border-radius:18px;box-shadow:0 14px 34px rgba(14,57,39,.16);}
@media (max-width:860px){.lab-detail-hero{grid-template-columns:1fr;}}
.lab-detail-head{display:flex;flex-direction:column;gap:10px;}
.lab-detail-head h1{margin:0;font-family:var(--font-display);font-size:34px;line-height:1.08;letter-spacing:-.01em;}
.lab-detail-head .lead{margin:0;}
.lab-detail-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;}
.lab-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s4);align-items:start;}
@media (max-width:980px){.lab-detail-grid{grid-template-columns:1fr;}}
.lab-why{padding:16px 18px;border-radius:14px;background:var(--primary-soft);border-left:0;}
.lab-why p{margin:6px 0 0;line-height:1.5;}
.lab-steps{list-style:none;margin:0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:14px;position:relative;}
.lab-steps::before{content:"";position:absolute;left:17px;top:14px;bottom:14px;width:2px;background:var(--rule);}
.lab-steps li{display:flex;gap:12px;align-items:flex-start;position:relative;line-height:1.5;}
.lab-step-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 4px var(--surface);}
.lab-tips{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;}
.lab-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.lab-sheet-box{min-height:110px;padding:10px 12px;border:1.5px dashed var(--rule-strong);border-radius:10px;background:var(--paper);}
.lab-fac{position:fixed;inset:0;z-index:60;background:#0B1E16;color:#E8F0EB;display:flex;flex-direction:column;}
.lab-fac-bar{display:flex;align-items:center;gap:var(--s3);padding:10px 18px;}
.lab-fac-bar .thin{color:#B3C6BB;}.lab-fac-bar .btn-quiet{color:#E8F0EB;}
.lab-fac-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;}
.lab-fac-n{font-weight:700;color:var(--accent);}
.lab-fac-stage h2{margin:0;font-family:var(--font-display);font-size:clamp(30px,5vw,60px);line-height:1.05;letter-spacing:-.01em;color:#fff;}
.lab-fac-stage p{margin:0;max-width:44ch;font-size:clamp(17px,2vw,24px);line-height:1.45;color:#C9D8CF;}
.lab-fac-timer{font-family:var(--font-display);font-weight:700;font-size:clamp(56px,10vw,120px);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#fff;}
.lab-fac-timer[data-over]{color:#FF8FA8;}
@media print{
  body:has(.lab-detail) .rail,body:has(.lab-detail) .demo-banner{display:none!important;}
  .lab-detail .panel{box-shadow:none;break-inside:avoid;}
  .lab-sheet-box{min-height:140px;}
}

/* Team Lab Live (README §Decisions 87) */
.ll{display:flex;flex-direction:column;gap:var(--s4);min-height:calc(100vh - 120px);}
.ll-head{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;}
.ll-title{display:flex;flex-direction:column;}
.ll-title h1{margin:0;font-family:var(--font-display);font-size:28px;letter-spacing:-.01em;line-height:1.1;}
.ll-phases{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:4px;flex-wrap:wrap;}
.ll-phases li{padding:5px 12px;border-radius:999px;font-size:var(--t-xs);font-weight:700;background:var(--sunk);color:var(--ink-soft);}
.ll-phases li[data-done]{background:var(--good-soft);color:var(--ink);}
.ll-phases li[data-on]{background:var(--primary);color:var(--on-primary);}
.ll-joined{display:inline-flex;align-items:center;gap:6px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--rule);}
.ll-joined svg{width:16px;height:16px;}
.ll-stage{display:flex;flex-direction:column;align-items:center;gap:var(--s4);padding:32px 24px;border-radius:24px;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden;}
.ll-big{margin:0;font-family:var(--font-display);font-size:clamp(24px,3.4vw,38px);line-height:1.12;letter-spacing:-.01em;max-width:24ch;}
.ll-narrow{width:min(100%,560px);}
.ll-narrow input,.ll-narrow select{flex:1;}
.ll-host{position:sticky;bottom:12px;display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:12px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--primary);box-shadow:var(--shadow-pop);}
.ll-host .thin{margin-right:auto;}
.ll-foot{text-align:center;max-width:70ch;margin:0 auto;}
.ll-ended{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:48px;}
.ll-done-note{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--good);}
.ll-done-note svg{width:18px;height:18px;}
.ll-prompt{width:min(100%,640px);padding:16px 18px;border-radius:14px;background:var(--primary-soft);text-align:left;}
.ll-prompt p{margin:6px 0 0;line-height:1.5;}
@keyframes ll-pop{from{opacity:0;transform:translateY(14px) scale(.92);}to{opacity:1;}}
.ll-pop{animation:ll-pop .45s cubic-bezier(.2,.8,.3,1.2) both;}
@media (prefers-reduced-motion:reduce){.ll-pop,.ll-draw,.ll-confetti i{animation:none!important;}}
/* weather */
.ll-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,140px));gap:12px;}
@media (max-width:560px){.ll-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}}
.ll-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:18px;border:2px solid var(--rule);background:var(--paper);font-weight:700;color:var(--ink);transition:transform .12s;}
.ll-tile:hover{transform:translateY(-2px);}
.ll-tile[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-soft);}
.ll-sky{color:#18332A;}
.ll-sky-row{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 28px;}
.ll-sky figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;}
.ll-sky figcaption{display:flex;flex-direction:column;font-size:var(--t-sm);}
.ll-sky figcaption span{font-style:italic;color:#53685E;}
/* two truths */
.ll-truth-form{display:flex;flex-direction:column;gap:10px;width:min(100%,640px);}
.ll-truth-row{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--rule);background:var(--paper);}
.ll-truth-row input[type=text],.ll-truth-row>input{flex:1;}
.ll-truth-row[data-lie]{border-color:var(--attention);background:var(--attention-soft);}
.ll-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:900px;}
@media (max-width:700px){.ll-cards3{grid-template-columns:1fr;}}
.ll-card3{position:relative;display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;min-height:150px;padding:18px;border-radius:18px;border:2px solid var(--rule);background:var(--paper);color:var(--ink);font-size:var(--t-md);line-height:1.4;transition:transform .2s,border-color .2s,background .3s;}
.ll-card3:not(:disabled):hover{transform:translateY(-3px);border-color:var(--primary);}
.ll-card3[aria-pressed="true"]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.ll-card3-n{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--primary-ink);}
.ll-card3-foot{margin-top:auto;font-size:var(--t-sm);font-weight:700;}
.ll-card3[data-state="lie"]{background:var(--attention-soft);border-color:var(--attention);animation:ll-pop .45s both;}
.ll-card3[data-state="true"]{background:var(--good-soft);border-color:var(--good);}
.ll-card3:disabled{cursor:default;opacity:1;}
/* podium */
.ll-podium{display:grid;grid-template-columns:repeat(3,minmax(0,160px));gap:10px;align-items:end;}
.ll-step{display:flex;flex-direction:column;align-items:center;gap:6px;}
.ll-step-name{font-weight:700;}
.ll-step-block{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;border-radius:14px 14px 4px 4px;color:#fff;animation:ll-pop .6s both;}
.ll-step-block b{font-family:var(--font-display);font-size:34px;line-height:1;}
.ll-step[data-place="1"] .ll-step-block{height:170px;background:linear-gradient(#F0A92E,#C78516);}
.ll-step[data-place="2"] .ll-step-block{height:120px;background:linear-gradient(#8E9AAD,#647085);animation-delay:.15s;}
.ll-step[data-place="3"] .ll-step-block{height:90px;background:linear-gradient(#C27A4A,#99582C);animation-delay:.3s;}
.ll-rest{text-align:left;}
/* kudos */
.ll-kudo-form{display:flex;flex-direction:column;gap:10px;width:min(100%,520px);padding:18px;border-radius:16px;box-shadow:0 10px 26px rgba(14,57,39,.12);text-align:left;transform:rotate(-1deg);}
.ll-kudo-form textarea,.ll-kudo-form select{background:rgba(255,255,255,.7);color:#18332A;}
.ll-kudo-form .inline-check{color:#18332A;}
.ll-swatches{display:flex;gap:8px;}
.ll-swatches button{width:28px;height:28px;border-radius:50%;border:2px solid rgba(14,57,39,.25);}
.ll-swatches button[aria-checked="true"]{border-color:#18332A;box-shadow:0 0 0 2px #fff inset;}
.ll-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;width:100%;}
.ll-kudo{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:6px 6px 14px 6px;text-align:left;color:#18332A;box-shadow:0 8px 18px rgba(14,57,39,.14);}
.ll-kudo p{margin:0;font-size:var(--t-md);line-height:1.45;}
.ll-kudo span{font-size:var(--t-xs);font-weight:700;color:#53685E;margin-top:auto;}
.ll-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.ll-confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:.85;animation:ll-fall 2.6s ease-in both;}
@keyframes ll-fall{to{transform:translateY(110vh) rotate(540deg);opacity:0;}}
/* motivators */
.ll-rank,.ll-heat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;width:min(100%,640px);text-align:left;}
.ll-rank li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:linear-gradient(90deg,var(--primary-soft) var(--w),var(--paper) var(--w));border:1px solid var(--rule);}
.ll-rank-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-weight:700;font-size:var(--t-sm);}
.ll-rank-name,.ll-heat-name{flex:1;display:flex;flex-direction:column;min-width:0;}
.ll-heat li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 40px;gap:12px;align-items:center;}
.ll-heat-bar{height:14px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.ll-heat-bar i{display:block;height:100%;border-radius:999px;animation:ll-pop .5s both;}
.ll-heat-n{font-family:var(--font-display);font-weight:700;text-align:right;}
/* poker */
.ll-decisions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:min(100%,680px);}
.ll-decisions li{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--rule);background:var(--paper);text-align:left;}
.ll-decisions li>span:first-child{flex:1;font-weight:700;}
.ll-poker-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.ll-pcard{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:104px;height:148px;padding:12px 8px;border-radius:14px;border:2px solid var(--rule-strong);background:linear-gradient(160deg,var(--surface),var(--paper));color:var(--ink);font-size:var(--t-xs);line-height:1.25;box-shadow:0 6px 14px rgba(14,57,39,.1);transition:transform .15s;}
.ll-pcard b{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--primary-ink);}
.ll-pcard:hover{transform:translateY(-6px);}
.ll-pcard[aria-pressed="true"]{border-color:var(--primary);transform:translateY(-10px);box-shadow:0 0 0 3px var(--primary-soft),0 10px 20px rgba(14,57,39,.15);}
.ll-fan{display:flex;justify-content:center;padding:10px 0 16px;}
.ll-fan .ll-pcard{margin:0 -14px;transform-origin:bottom center;}
.ll-pcard[data-revealed] span{font-weight:700;}
.ll-consensus{margin:0;font-weight:700;padding:6px 14px;border-radius:999px;background:var(--warn-soft);}
.ll-consensus[data-close]{background:var(--good-soft);}
.ll-agree{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
/* journey */
.ll-journey{width:100%;max-width:820px;height:auto;border-radius:16px;background:linear-gradient(180deg,rgba(247,109,69,.10),transparent 45%,rgba(14,57,39,.08));border:1px solid var(--rule);}
.ll-journey-draw{cursor:crosshair;touch-action:none;}
.ll-draw{stroke-dasharray:1600;stroke-dashoffset:1600;animation:ll-dash 1.6s ease-out forwards;}
@keyframes ll-dash{to{stroke-dashoffset:0;}}
.ll-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:var(--t-sm);}
.ll-legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle;}
/* safety */
.ll-likert,.ll-safety{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:min(100%,720px);text-align:left;}
.ll-likert li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--paper);border:1px solid var(--rule);flex-wrap:wrap;}
.ll-scale{display:flex;gap:4px;}
.ll-scale button{width:38px;height:38px;border-radius:10px;border:1px solid var(--rule-strong);background:var(--surface);font-weight:700;color:var(--ink);}
.ll-scale button[aria-checked="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.ll-safety li{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 40px;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;}
.ll-safety li[data-low]{background:var(--warn-soft);}
.ll-safety-bar{height:12px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.ll-safety-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--attention),var(--warn),var(--good));background-size:500% 100%;animation:ll-pop .6s both;}
/* quiz */
.ll-quiz-top{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;}
.ll-ring{width:64px;height:64px;}
.ll-quiz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:900px;}
@media (max-width:640px){.ll-quiz-grid{grid-template-columns:1fr;}}
.ll-qtile{position:relative;display:flex;align-items:center;gap:14px;min-height:84px;padding:14px 18px;border-radius:16px;border:0;color:#fff;font-weight:700;font-size:var(--t-md);text-align:left;line-height:1.3;box-shadow:0 6px 0 rgba(0,0,0,.18);transition:transform .1s,opacity .3s;}
.ll-qtile:not(:disabled):hover{transform:translateY(-2px);}
.ll-qtile:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.18);}
.ll-qtile[aria-pressed="true"]{outline:4px solid var(--ink);outline-offset:2px;}
.ll-qtile[data-state="wrong"]{opacity:.42;}
.ll-qtile[data-state="right"]{box-shadow:0 0 0 4px var(--good),0 6px 0 rgba(0,0,0,.18);}
.ll-qtile:disabled{cursor:default;}
.ll-shape{font-size:26px;line-height:1;}
.ll-qbar{position:absolute;left:18px;right:18px;bottom:8px;display:flex;align-items:center;gap:8px;}
.ll-qbar i{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.85);}
.ll-qbar b{font-size:var(--t-xs);}
.ll-huge{font-size:var(--t-lg);padding:14px 28px;}
/* entry points */
.ll-banner{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:12px 16px;border-radius:14px;background:var(--attention-soft);border:1px solid var(--attention);}
.ll-dot{width:12px;height:12px;border-radius:50%;background:var(--attention);box-shadow:0 0 0 0 var(--attention);animation:ll-pulse 1.6s infinite;}
@keyframes ll-pulse{70%{box-shadow:0 0 0 10px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
.lab-live-badge{position:absolute;top:10px;right:10px;font-size:var(--t-xs);font-weight:700;padding:3px 10px;border-radius:999px;background:#B81F48;color:#fff;}
.ll-start-box{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:var(--attention-soft);}
.ll-start{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}

/* The welcome journey (README §Decisions 88) */
.oj-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--s5,28px);padding:26px 28px;border-radius:var(--rad-lg);background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);}
.oj-hero[data-complete]{background:linear-gradient(135deg,var(--good-soft),var(--surface) 60%);}
.oj-hero h2{margin:0 0 6px;font-family:var(--font-display);font-size:28px;line-height:1.12;letter-spacing:-.01em;}
.oj-hero p{margin:0 0 6px;color:var(--ink-soft);line-height:1.5;max-width:62ch;}
.oj-ring{flex:none;width:112px;height:112px;}
@media (max-width:640px){.oj-hero{flex-direction:column;align-items:flex-start;}}
.oj-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;position:relative;}
.oj-path::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:3px;border-radius:2px;background:var(--rule);}
.oj-stage{display:flex;gap:16px;align-items:flex-start;position:relative;}
.oj-medal{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:3px solid var(--rule-strong);color:var(--ink-soft);z-index:1;}
.oj-medal svg{width:22px;height:22px;}
.oj-stage[data-done] .oj-medal{background:var(--good);border-color:var(--good);color:#fff;}
.oj-stage[data-current] .oj-medal{border-color:var(--primary);color:var(--primary-ink);box-shadow:0 0 0 0 var(--primary-soft);animation:oj-pulse 2s infinite;}
@keyframes oj-pulse{70%{box-shadow:0 0 0 12px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
@media (prefers-reduced-motion:reduce){.oj-stage[data-current] .oj-medal{animation:none;}}
.oj-card{flex:1;min-width:0;border:1px solid var(--rule);border-radius:16px;background:var(--surface);overflow:hidden;}
.oj-stage[data-current] .oj-card{border-color:var(--primary);box-shadow:0 8px 22px rgba(14,57,39,.12);}
.oj-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:14px 16px;background:none;border:0;text-align:left;color:var(--ink);font:inherit;}
.oj-head b{font-size:var(--t-md);}
.oj-n{font-size:var(--t-xs);font-weight:700;color:var(--ink-faint);}
.oj-status{margin-left:auto;font-size:var(--t-sm);color:var(--ink-soft);}
.oj-stage[data-done] .oj-status{color:var(--good);font-weight:700;}
.oj-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0 16px 16px;}
.oj-body>p{margin:0;line-height:1.55;color:var(--ink-soft);max-width:70ch;}
.oj-inline{display:flex;flex-direction:column;gap:10px;width:100%;max-width:720px;}
.oj-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.oj-chips li{padding:4px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-ink);font-weight:700;font-size:var(--t-sm);}
.oj-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;}
.oj-facts li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--paper);border:1px solid var(--rule);}
.oj-facts li span{font-size:var(--t-xs);color:var(--ink-soft);}
.oj-wins{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px;line-height:1.5;}
.oj-message{padding:12px 14px;border-radius:12px;background:var(--paper);border:1px dashed var(--rule-strong);}
.oj-message p{margin:6px 0;line-height:1.5;font-size:var(--t-sm);}
.oj-banner{border-color:var(--primary);background:var(--primary-soft);}
/* README §Decisions 136: what is needed to start, apart from what can wait; invite by address; the ways to verify. */
.oj-group{display:flex;flex-direction:column;gap:10px;}
.oj-group-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.oj-group-head h2{margin:0;font-family:var(--font-display);font-size:20px;letter-spacing:-.01em;}
.oj-group-head .count{margin-left:auto;font-size:var(--t-sm);font-weight:700;color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.oj-group-lead{margin:0 0 4px;color:var(--ink-soft);line-height:1.5;max-width:70ch;}
.oj-group[data-kind="later"]{margin-top:var(--s4);padding-top:var(--s5);border-top:1px dashed var(--rule-strong);}
.oj-stage[data-optional]:not([data-done]):not([data-current]) .oj-medal{border-style:dashed;}
.oj-invite-to{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:10px;}
.oj-invite-to .field,.oj-inline>.field{margin:0;}
.oj-inline textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);}
.oj-invite-check{margin:0;font-size:var(--t-sm);font-weight:700;color:var(--good);}
.oj-note{margin:0;padding:10px 12px;border-radius:12px;background:var(--warn-soft);color:var(--ink);border:1px solid var(--rule);line-height:1.5;font-size:var(--t-sm);}
.oj-ways{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.oj-ways li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--rule);}
.oj-ways li b{grid-column:1;}
.oj-ways li span{grid-column:1;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.5;}
.oj-ways li .btn{grid-column:2;grid-row:1 / span 2;}
@media (max-width:640px){.oj-ways li{grid-template-columns:1fr;}.oj-ways li .btn{grid-column:1;grid-row:auto;justify-self:start;}}
.hol{width:100%;max-width:760px;}
.oj-inline .signup-error,.oj-inline .privacy-note{margin:0;}
.hol-row{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;}
.hol-row .field{margin:0;min-width:min(100%,11rem);}
.hol-row .btn,.oj-inline .btn{white-space:normal;max-width:100%;text-align:left;}
.hol-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:6px;}
.hol-list li{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-radius:10px;background:var(--paper);border:1px solid var(--rule);font-size:var(--t-sm);min-width:0;}
.hol-day{flex:none;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-soft);}
.hol-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.in-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:var(--s3);}
.in-map .field{margin:0;}
.in-map-notes{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.5;}
.in-list li{grid-template-columns:auto minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:auto;}
@media (max-width:860px){.in-list li{grid-template-columns:1fr auto;grid-auto-flow:row;}}

/* Billing (README §Decisions 89) */
.bi-state{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;border:1px solid var(--rule);background:var(--surface);}
.bi-state>svg{flex:none;width:24px;height:24px;margin-top:2px;}
.bi-state p{margin:4px 0 10px;color:var(--ink-soft);line-height:1.5;max-width:64ch;}
.bi-state[data-tone="good"]{border-color:var(--good);background:var(--good-soft);}.bi-state[data-tone="good"]>svg{color:var(--good);}
.bi-state[data-tone="warn"]{border-color:var(--attention);background:var(--attention-soft);}.bi-state[data-tone="warn"]>svg{color:var(--attention);}
.bi-state[data-tone="calm"]>svg{color:var(--ink-soft);}
.bi-warn{font-weight:700;color:var(--ink)!important;}
.bi-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s4);max-width:760px;}
.bi-plan{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:18px;border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow);}
.bi-plan[data-best]{border:2px solid var(--primary);}
.bi-save{position:absolute;top:-12px;right:16px;padding:4px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent);color:var(--ink);font-weight:700;font-size:var(--t-xs);}
.bi-price{margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.bi-price b{font-family:var(--font-display);font-size:36px;letter-spacing:-.01em;}
.bi-price span{color:var(--ink-soft);}
.bi-plan .btn{margin-top:auto;}
.bi-notes{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);line-height:1.5;max-width:70ch;}
.bi-stripe{max-width:70ch;}
.bi-banner{border-color:var(--primary);background:var(--primary-soft);}
.bi-banner[data-tone="warn"]{border-color:var(--attention);background:var(--attention-soft);}

/* Email and password, two-step sign-in (README §Decisions 91) */
.pw-or{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--ink-soft);font-size:var(--t-sm);}
.pw-or::before,.pw-or::after{content:"";flex:1;height:1px;background:var(--rule);}
.pw-enrol{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.pw-secret{display:inline-block;margin-top:6px;padding:6px 10px;border-radius:8px;background:var(--sunk);font-size:var(--t-sm);letter-spacing:.05em;word-break:break-all;}
.pw-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;padding:12px 16px 12px 34px;border-radius:12px;background:var(--paper);border:1px dashed var(--rule-strong);}
.pw-codes code{font-size:var(--t-md);letter-spacing:.06em;}
.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s4);align-items:start;}
.sec-on{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;color:var(--good);}
.sec-on svg{width:18px;height:18px;}

/* Coretime-led events (README §Decisions 105): the guidance under a run's timer, and the Lead an event panel. */
.run-guide { margin-top: var(--s3); text-align: left; background: var(--surface-2, var(--surface)); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); display: grid; gap: var(--s2); max-width: 46rem; margin-inline: auto; }
.run-guide-do { font-size: 1.05rem; line-height: 1.5; margin: 0; }
.run-guide h4 { margin: 0 0 4px; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-soft, var(--ink-soft)); }
.run-guide ul { margin: 0; padding-left: 1.2em; }
.run-goal { font-weight: 600; margin: 0; }
.run-facilitation { margin: var(--s2) 0; }
.lead-panel { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); margin-bottom: var(--s3); }
.lead-panel h2 { margin: 0; font-size: 1.1rem; }
.lead-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s1); }
.lead-list li { display: grid; grid-template-columns: 4.5rem 1fr auto auto; gap: var(--s2); align-items: center; }
.lead-list li[data-mine] .lead-what b { color: var(--primary); }
@media (max-width: 40rem) { .lead-list li { grid-template-columns: 4rem 1fr; } }

/* The coach (README §Decisions 106). */
.coach-card { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); display: grid; gap: var(--s1); }
.coach-card[data-tone="warn"] { border-color: var(--warn, #c9821f); }
.coach-card[data-tone="good"] { border-color: var(--good, #1f8a5b); }
.coach-card h2 { margin: 0; }
.coach-kicker { margin: 0; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-soft, var(--ink-soft)); }
.coach-evidence { font-weight: 600; }
.coach-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: var(--s2); }
.coach-option { border: 1px solid var(--rule); border-radius: 10px; padding: var(--s2); display: grid; gap: 6px; align-content: start; }
.coach-option p { margin: 0; }
.coach-option .btn { justify-self: start; margin-top: 4px; }
.fd-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr)); gap: var(--s2); padding-left: 1.2rem; margin: 0; }
.fd-steps p { margin: 4px 0 0; font-size: var(--t-sm); color: var(--ink-soft); }
.fd-team { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); display: grid; gap: var(--s1); }
.fd-team h2 { margin: 0; font-size: var(--t-md); }
.fd-order { margin: 0; padding-left: 1.2rem; display: grid; gap: 2px; }
.fd-order li[data-me], .fd-events li[data-me] { font-weight: 600; }
.fd-events { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.fd-events li { display: flex; gap: var(--s2); align-items: baseline; flex-wrap: wrap; }
.ov-nav { gap: var(--s2); flex-wrap: wrap; align-items: center; }
.ov-mail { margin-left: auto; }
.ov-totals { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); gap: var(--s2); }
.ov-tile { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s2) var(--s3); display: grid; gap: 2px; }
.ov-tile b { font-size: var(--t-lg, 1.4rem); }
.ov-teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: var(--s3); }
.ov-team { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); display: grid; gap: var(--s1); align-content: start; }
.ov-team header { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s2); }
.ov-team h3 { margin: 0; }
.ov-score { display: inline-flex; gap: 8px; align-items: baseline; }
.ov-score b { font-size: var(--t-lg, 1.4rem); }
.ov-lines { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; font-size: var(--t-sm); }
.ov-lines li[data-warn] { color: var(--warn, #c9821f); }
.pill[data-trend="up"] { background: var(--good-soft, #e3f3ea); color: var(--good, #1f8a5b); }
.pill[data-trend="down"] { background: var(--warn-soft, #fbeedd); color: var(--warn, #c9821f); }
.coach-ask textarea { width: 100%; }
.coach-answer { background: var(--sunk); border-radius: 10px; padding: var(--s2) var(--s3); }
.coach-answer p { margin: 0 0 var(--s1); }
.coach-answer ol { margin: 0; padding-left: 1.2rem; }
.wd { background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: var(--s3); display: grid; gap: var(--s1); }
.wd h3 { margin: 0; }
.wd-list { list-style: none; padding: 0; margin: var(--s1) 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: var(--s2) var(--s3); }
.wd-list li { display: flex; gap: 10px; align-items: flex-start; }
.wd-list p { margin: 2px 0; font-size: var(--t-sm); }
.wd-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; background: var(--good, #1f8a5b); }
.wd-list li[data-attention] .wd-dot { background: var(--warn, #c9821f); }
.coach-history { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.pill[data-outcome="better"] { background: var(--good-soft, #dff3e8); }
.pill[data-outcome="worse"] { background: var(--bad-soft, #fbe2e2); }

/* The coach's moments (README §Decisions 107). */
.run-briefing { border: 1px solid var(--rule); border-radius: 10px; padding: var(--s2); margin: var(--s2) 0; background: var(--surface); }
.run-briefing h3 { margin: 0 0 4px; font-size: .95rem; }
.run-briefing ul { margin: 0; padding-left: 1.2em; }
.run-nudge { margin: var(--s2) auto 0; max-width: 40rem; padding: 6px 12px; border-radius: 999px; background: var(--primary-soft, #e4e8fb); color: var(--ink); font-size: .95rem; text-align: center; }
.coach-backlog { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--s2); }
.coach-backlog div { border: 1px solid var(--rule); border-radius: 10px; padding: var(--s2); display: grid; }
.coach-backlog b { font-size: 1.6rem; }

/* When a team needs a person, and the scorecard (README §Decisions 108). */
.coach-card[data-tone="risk"] { border-color: var(--bad, #c03b3b); background: var(--bad-soft, #fdf1f1); }
.coach-people { margin: 0; padding-left: 1.2em; display: grid; gap: 4px; }
.coach-score { border-collapse: collapse; width: 100%; }
.coach-score th, .coach-score td { text-align: left; padding: 6px 10px; border-bottom: 1px solid var(--rule); }
.coach-score th { font-size: .85rem; color: var(--ink-soft, var(--ink-soft)); font-weight: 600; }

/* ---------- the roadmap (README §Decisions 120) ---------- */
.rm .mini{display:block;font-size:var(--t-sm);font-weight:600;margin:0 0 6px;}
.rm-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;}
.rm-bar .seg,.rm-tools .seg{flex-wrap:wrap;}
.rm-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--t-sm);color:var(--ink-soft);}
.rm-sync{display:flex;align-items:center;gap:var(--s2);margin:0;}
.rm-sync [data-tone="risk"],.rm-source [data-tone="risk"]{color:var(--attention);}
.rm-tools{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s2);}
.rm-tools .btn-quiet .glyph{transform:rotate(90deg);}
.rm-tools .rm-next .glyph{transform:rotate(-90deg);}
.rm-timeline{background:var(--surface);border:1px solid var(--rule);border-radius:var(--rad-lg);padding:var(--s3) var(--s4) var(--s4);}
.rm-grid{display:flex;flex-direction:column;overflow-x:auto;}
.rm-row{display:grid;grid-template-columns:minmax(200px,280px) minmax(480px,1fr);min-height:36px;border-top:1px solid var(--rule);}
.rm-row[data-child]{min-height:30px;border-top-style:dashed;}
.rm-group:first-of-type .rm-row:first-child{border-top-color:var(--rule-strong);}
.rm-label{display:flex;align-items:center;gap:4px;min-width:0;padding:4px 8px 4px 0;}
.rm-row[data-child] .rm-label{padding-left:22px;}
.rm-fold,.rm-fold-space{flex:none;width:22px;height:22px;display:grid;place-items:center;border:0;background:none;color:var(--ink-soft);border-radius:6px;cursor:pointer;padding:0;}
.rm-fold[aria-expanded="false"] .glyph{transform:rotate(-90deg);}
.rm-fold:hover{background:var(--sunk);}
.rm-name{display:flex;align-items:baseline;gap:6px;min-width:0;border:0;background:none;padding:2px 0;font:inherit;text-align:left;cursor:pointer;color:var(--ink);}
.rm-name:hover .rm-title{text-decoration:underline;}
.rm-key{flex:none;font-size:var(--t-xs);font-weight:700;color:var(--primary-ink);}
.rm-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rm-row[data-kind="epic"] .rm-title{font-weight:700;}
.rm-row[data-child] .rm-title{font-size:var(--t-sm);}
.rm-lane{position:relative;min-width:0;}
.rm-axis{border-top:0;min-height:44px;}
.rm-axis .rm-label{font-family:var(--font-display);font-weight:700;}
.rm-scale-top,.rm-scale-bottom{position:relative;height:20px;}
.rm-scale-top span{position:absolute;top:0;height:20px;font-size:var(--t-xs);font-weight:700;color:var(--ink);padding-left:6px;border-left:1px solid var(--rule-strong);overflow:hidden;white-space:nowrap;}
.rm-scale-bottom span{position:absolute;top:2px;font-size:11px;color:var(--ink-faint);padding-left:4px;border-left:1px solid var(--rule);white-space:nowrap;}
.rm-pis{min-height:30px;}
.rm-pis .rm-label{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
.rm-pi{position:absolute;top:5px;bottom:5px;display:flex;align-items:center;border-radius:7px;background:var(--warn-soft);border:1px solid var(--warn);color:var(--ink);font-size:var(--t-xs);font-weight:700;text-decoration:none;overflow:hidden;z-index:2;}
.rm-pi[data-status="done"]{border-style:dashed;}
.rm-pi:hover{box-shadow:var(--shadow);}
.rm-pi:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.rm-pi span{position:relative;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rm-pi i{position:absolute;top:0;bottom:0;width:1px;background:var(--warn);opacity:.3;}
.rm-pi-chip{flex:none;font-size:10px;font-weight:800;padding:0 5px;border-radius:5px;background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);}
.rm-boards ul{margin:4px 0 0;padding-left:18px;}
.rm-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none;z-index:1;}
.rm-bar-item{position:absolute;top:6px;bottom:6px;display:flex;align-items:center;border-radius:7px;font-size:var(--t-xs);font-weight:600;
  background:var(--primary-soft);color:var(--primary-ink);border:1px solid var(--primary);overflow:hidden;z-index:2;touch-action:none;user-select:none;}
.rm-row[data-child] .rm-bar-item{top:7px;bottom:7px;opacity:.95;}
.rm-bar-item[data-movable]{cursor:grab;}
.rm-bar-item[data-drag]{cursor:grabbing;box-shadow:var(--shadow-pop);z-index:3;}
.rm-bar-item[data-tone="doing"]{background:var(--primary);color:var(--on-primary);}
.rm-bar-item[data-tone="done"]{background:var(--good-soft);color:var(--good);border-color:var(--good);}
.rm-bar-item[data-tone="late"]{background:var(--attention-soft);color:var(--attention);border-color:var(--attention);}
.rm-bar-item[data-outside]{border-style:dashed;border-width:2px;border-color:var(--warn);}
.rm-bar-item[data-clip-start]{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;}
.rm-bar-item[data-clip-end]{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0;}
.rm-bar-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.rm-bar-text{flex:1;min-width:0;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rm-handle{flex:none;width:8px;align-self:stretch;cursor:ew-resize;}
.rm-handle:hover{background:rgba(0,0,0,.12);}
.rm-point{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;transform:rotate(45deg);border:1px solid var(--primary);background:var(--primary-soft);border-radius:2px;padding:0;cursor:pointer;z-index:2;}
.rm-point[data-tone="late"]{border-color:var(--attention);background:var(--attention-soft);}
.rm-plan{position:absolute;left:6px;top:50%;transform:translateY(-50%);border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink-soft);border-radius:7px;font:inherit;font-size:var(--t-xs);padding:2px 8px;cursor:pointer;}
.rm-plan:hover{border-color:var(--primary);color:var(--primary-ink);}
.rm-elsewhere{position:absolute;top:50%;transform:translateY(-50%);left:6px;font-size:var(--t-xs);}
.rm-elsewhere[data-side="after"]{left:auto;right:6px;}
.rm-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:auto;}
.rm-dot[data-sync="failed"]{background:var(--attention);}
.rm-none{padding:var(--s3) 0;}
.rm-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:var(--s3) 0 0;}
.rm-legend span{display:inline-flex;align-items:center;gap:6px;}
.rm-legend i{width:18px;height:10px;border-radius:3px;border:1px solid var(--primary);background:var(--primary-soft);}
.rm-legend i[data-tone="doing"]{background:var(--primary);}
.rm-legend i[data-tone="done"]{background:var(--good-soft);border-color:var(--good);}
.rm-legend i[data-tone="late"]{background:var(--attention-soft);border-color:var(--attention);}
.rm-legend i[data-outside]{border:2px dashed var(--warn);}
.rm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.rm .pill[data-tone="doing"],.rm-meta .pill[data-tone="doing"]{border-color:var(--primary);color:var(--primary-ink);}
.rm .pill[data-tone="done"],.rm-meta .pill[data-tone="done"]{border-color:var(--good);color:var(--good);}
.rm .pill[data-tone="late"]{border-color:var(--attention);color:var(--attention);}
.rm-warn{margin:0;padding:8px 12px;border-radius:10px;background:var(--warn-soft);color:var(--ink);font-size:var(--t-sm);}
.rm-warn[data-tone="risk"]{background:var(--attention-soft);}
.rm-picks{display:flex;flex-wrap:wrap;gap:6px;}
.rm-picks .chip{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm);padding:4px 10px;border-radius:999px;cursor:pointer;}
.rm-picks .chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.rm-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:var(--s3);}
.rm-name-link{border:0;background:none;padding:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;}
.rm-name-link:hover{text-decoration:underline;}
.rm-list li[data-done] .pp-title{color:var(--ink-soft);}
.rm-tools-right{align-items:center;gap:4px;}
.rm-tools-right select{max-width:9rem;}
.rm-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:var(--s3);}
.rm-quarters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s3);align-items:end;}
.rm-quarter{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;text-align:center;}
.rm-quarter[data-now]{background:var(--primary-soft);}
.rm-quarter b{font-family:var(--font-display);font-size:var(--t-lg);}
.rm-stack{height:110px;width:34px;display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:2px;margin-bottom:4px;}
.rm-stack i{display:block;border-radius:4px;min-height:0;background:var(--primary-soft);border:1px solid var(--primary);}
.rm-stack i[data-tone="doing"]{background:var(--primary);}
.rm-stack i[data-tone="done"]{background:var(--good);border-color:var(--good);}
.rm-stack i[style*="height: 0%"],.rm-stack i[style*="height:0%"]{border:0;}
.rm-late-n{font-size:var(--t-xs);font-weight:700;color:var(--attention);}
.rm-progress,.rm-attention{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.rm-progress li{display:flex;flex-direction:column;gap:4px;}
.rm-meter{height:8px;border-radius:5px;background:var(--sunk);overflow:hidden;}
.rm-meter i{display:block;height:100%;background:var(--good);border-radius:5px;}
.rm-attention li{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--rule);}
.rm-attention li[data-reason="late"] .thin,.rm-attention li[data-reason="failed"] .thin{color:var(--attention);}
.rm-source{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;}
.rm-source dt{color:var(--ink-soft);font-size:var(--t-sm);}
.rm-source dd{margin:0;}
.rm-how{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px;}
.rm-projects{border:1px solid var(--rule);border-radius:10px;padding:8px 12px 12px;margin:0;}
.rm-projects legend{font-size:var(--t-sm);font-weight:600;padding:0 4px;}
.rm-project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:4px 12px;max-height:14rem;overflow:auto;margin-top:6px;}
@media (max-width:640px){
  .rm-quarters{grid-template-columns:repeat(3,minmax(0,1fr));}
  .rm-row{grid-template-columns:minmax(140px,180px) minmax(420px,1fr);}
}

/* ==========================================================================
   Design pass "Ensemble" (README §Decisions 122): every screen carries its glyph and the screens it works
   with; panels can carry a glyph, a hint and a tone; empty states say what belongs there and offer the first
   step; numbers can carry a trend; shared heatmaps, rings and drag and drop. Colour never carries meaning
   alone, and every text pair keeps 4.5:1.
   ========================================================================== */
.main{background:radial-gradient(1100px 260px at 18% -140px,var(--primary-soft),transparent 72%) no-repeat;}
@media (prefers-reduced-motion:no-preference){
  /* Opacity only: a transform, even a finished one, would move fixed and dragged elements. */
  .main>.stack>*{animation:ens-fade .2s ease-out;}
  @keyframes ens-fade{from{opacity:0;}to{opacity:1;}}
}
.topbar{gap:var(--s3) var(--s4);}
.topbar-icon{flex:none;align-self:flex-start;margin-top:2px;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--primary) 0%,var(--primary-ink) 100%);color:var(--on-primary);box-shadow:0 6px 18px -8px var(--primary);}
.topbar-icon .glyph{width:24px;height:24px;stroke-width:1.6;}
.linked{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.linked-item{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);
  color:var(--ink-soft);font-size:var(--t-xs);font-weight:600;text-decoration:none;transition:border-color .15s,color .15s,box-shadow .15s;}
.linked-item .glyph{width:14px;height:14px;}
.linked-item:hover{border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow);}
.linked-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.linked-count{background:var(--attention);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;line-height:16px;}
html[data-theme="dark"] .linked-count{color:var(--paper);}
.panel-head[data-icon]{align-items:center;}
.panel-icon{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-ink);}
.panel-icon .glyph{width:17px;height:17px;}
.panel-title{display:flex;flex-direction:column;gap:2px;min-width:0;}
.panel-hint{font-size:var(--t-xs);color:var(--ink-soft);font-weight:400;}
.panel[data-tone]{border-top-width:3px;}
.panel[data-tone="risk"]{border-top-color:var(--attention);}
.panel[data-tone="watch"]{border-top-color:var(--warn);}
.panel[data-tone="good"]{border-top-color:var(--good);}
.panel[data-tone="brand"]{border-top-color:var(--primary);}
.panel[data-tone="risk"] .panel-icon{background:var(--attention-soft);color:var(--attention);}
.panel[data-tone="watch"] .panel-icon{background:var(--warn-soft);color:var(--warn);}
.panel[data-tone="good"] .panel-icon{background:var(--good-soft);color:var(--ink);}
.note-empty{border:1.5px dashed var(--rule);border-radius:12px;background:var(--paper);margin:0;}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px var(--s4);border:1.5px dashed var(--rule);border-radius:var(--rad-lg);
  background:radial-gradient(260px 120px at 50% 0%,var(--primary-soft),transparent 80%),var(--surface);}
.empty-state p{margin:0;max-width:52ch;color:var(--ink-soft);font-size:var(--t-sm);line-height:1.5;}
.empty-state b{font-size:var(--t-md);}
.empty-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-ink);box-shadow:0 0 0 6px var(--surface),0 0 0 7px var(--rule);}
.empty-icon .glyph{width:22px;height:22px;}
.empty-action{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:center;margin-top:4px;}
.stat-label{display:inline-flex;align-items:center;gap:6px;}
.stat-label .glyph{width:14px;height:14px;}
.stat .mini-trend{margin-top:6px;}
a.stat-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;}
a.stat-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-pop);border-color:var(--primary);}
a.stat-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.mini-trend{display:block;width:100%;height:24px;color:var(--primary);overflow:visible;}
.stat[data-tone="risk"] .mini-trend{color:var(--attention);}
.stat[data-tone="watch"] .mini-trend{color:var(--warn);}
.stat[data-tone="good"] .mini-trend{color:var(--good);}
.avatar-tint{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;flex:none;letter-spacing:0;}
.avatar.avatar-tint[data-hue="0"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="0"]{background:var(--primary-soft);color:var(--primary-ink);}
.avatar.avatar-tint[data-hue="1"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="1"]{background:var(--good-soft);color:var(--ink);}
.avatar.avatar-tint[data-hue="2"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="2"]{background:var(--warn-soft);color:var(--warn);}
.avatar.avatar-tint[data-hue="3"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="3"]{background:var(--attention-soft);color:var(--attention);}
.avatar.avatar-tint[data-hue="4"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="4"]{background:var(--sunk);color:var(--ink);}
.avatar.avatar-tint[data-hue="5"],html[data-theme="dark"] .avatar.avatar-tint[data-hue="5"]{background:var(--primary);color:var(--on-primary);}
.heatmap{display:grid;gap:3px;align-items:stretch;overflow-x:auto;font-size:var(--t-xs);}
.heat-col{text-align:center;color:var(--ink-soft);font-weight:600;padding:2px;}
.heat-row{color:var(--ink);padding:6px 8px 6px 0;align-self:center;}
.heat-cell{display:grid;place-items:center;padding:8px 4px;border-radius:6px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);background:var(--sunk);}
.heat-cell[data-band="good"]{background:var(--good-soft);}
.heat-cell[data-band="ok"]{background:var(--good-soft);background:color-mix(in srgb,var(--good-soft) 50%,var(--surface));}
.heat-cell[data-band="mid"]{background:var(--sunk);}
.heat-cell[data-band="low"]{background:var(--warn-soft);}
.heat-cell[data-band="poor"]{background:var(--attention-soft);}
.heat-cell[data-band="none"]{background:none;border:1px dashed var(--rule);color:var(--ink-soft);}
.donut{display:flex;align-items:center;gap:var(--s4);margin:0;flex-wrap:wrap;}
.donut-total{font-family:var(--font-display);font-size:9px;font-weight:700;fill:var(--ink);}
.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);}
.donut-legend li{display:flex;align-items:center;gap:8px;}
.donut-legend i{width:10px;height:10px;border-radius:3px;flex:none;}
.donut-legend b{margin-left:auto;padding-left:var(--s3);font-variant-numeric:tabular-nums;}
/* drag and drop: zones say where a card may go, the card being dragged fades */
.dnd-item[draggable="true"]{cursor:grab;}
.dnd-item[data-dragging]{opacity:.45;}
.dnd-zone{transition:background .12s,outline-color .12s;}
.dnd-zone[data-drop]{outline:1.5px dashed var(--rule-strong);outline-offset:-1.5px;}
.dnd-zone[data-over]{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-soft);}
.dnd-before[data-over]{box-shadow:inset 0 3px 0 var(--primary);}
/* waiting for a screen */
.screen-loading{display:flex;flex-direction:column;gap:12px;padding:var(--s4) 0;}
.screen-loading span,.skeleton-title{display:block;height:18px;border-radius:8px;background:linear-gradient(90deg,var(--sunk),var(--rule),var(--sunk));background-size:200% 100%;}
.screen-loading span:first-child{height:34px;width:40%;}
.screen-loading span:nth-child(2){width:70%;}
.screen-loading span:nth-child(3){width:55%;}
.skeleton-title{width:min(320px,60vw);height:32px;}
@media (prefers-reduced-motion:no-preference){.screen-loading span,.skeleton-title{animation:ens-shimmer 1.2s linear infinite;}@keyframes ens-shimmer{to{background-position:-200% 0;}}}
.hover-lift{transition:transform .15s,box-shadow .15s,border-color .15s;}
.hover-lift:hover{transform:translateY(-1px);box-shadow:var(--shadow-pop);}
@media (max-width:640px){.topbar-icon{width:38px;height:38px;border-radius:11px;}.topbar-icon .glyph{width:20px;height:20px;}}
/* the command bar: groups, glyphs, things to do (README §Decisions 122) */
.cmd-group{font-size:11.5px;font-weight:700;color:var(--ink-soft);padding:10px var(--s2) 4px;list-style:none;}
.cmd-row{grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;}
.cmd-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sunk);color:var(--ink-soft);}
.cmd-row[data-group="do"] .cmd-icon{background:var(--primary-soft);color:var(--primary-ink);}
.cmd-row[aria-selected="true"] .cmd-icon{background:rgba(255,255,255,.18);color:var(--on-primary);}
html[data-theme="dark"] .cmd-row[aria-selected="true"] .cmd-icon{background:rgba(0,0,0,.18);}
.cmd-row .cmd-kind{justify-self:end;}
/* the team hub (README §Decisions 122) */
.team-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4) var(--s5);align-items:start;padding:20px 22px;border-radius:var(--rad-lg);border:1px solid var(--rule);
  background:linear-gradient(120deg,var(--surface) 55%,var(--primary-soft));box-shadow:var(--shadow);}
.team-hero-main{display:flex;flex-direction:column;gap:var(--s3);min-width:0;}
.team-purpose{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.01em;max-width:62ch;}
.team-purpose.thin{font-family:var(--font-text);font-size:var(--t-sm);font-weight:400;}
.team-sprint{display:flex;flex-direction:column;gap:6px;max-width:560px;}
.team-sprint-head{display:flex;gap:var(--s3);align-items:baseline;flex-wrap:wrap;}
.team-sprint-bar{display:block;height:8px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.team-sprint-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));}
.team-goal{margin:0;font-size:var(--t-sm);}
.team-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s3);}
.team-faces{display:flex;align-items:center;text-decoration:none;}
.team-faces .avatar-tint{margin-left:-5px;box-shadow:0 0 0 2px var(--surface);}
.team-faces .avatar-tint:first-child{margin-left:0;}
.team-faces:hover .avatar-tint{margin-left:2px;}
.team-faces .avatar-tint:first-child{margin-left:0 !important;}
.team-faces-more{margin-left:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}
.team-pages{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.team-pages a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--rule);color:var(--ink);font-size:var(--t-xs);font-weight:600;text-decoration:none;}
.team-pages a:hover{border-color:var(--primary);color:var(--primary-ink);}
.team-pages .glyph{width:14px;height:14px;}
.hub-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s3);}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:var(--s4);align-items:start;}
.hub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.hub-list li{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 0;border-top:1px solid var(--rule);font-size:var(--t-sm);}
.hub-list li:first-child{border-top:0;}
.hub-list li>:first-child{min-width:0;max-width:100%;}
.hub-list li .thin{font-size:var(--t-xs);}
.hub-list li[data-late] .thin{color:var(--attention);font-weight:700;}
.hub-list a{color:var(--ink);text-decoration:none;}
.hub-list a:hover{text-decoration:underline;color:var(--primary-ink);}
.hub-list .pill{flex:none;}
.hub-more{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:var(--t-xs);color:var(--primary-ink);text-decoration:none;}
.hub-more .glyph{width:13px;height:13px;}
.hub-more:hover{text-decoration:underline;}
.hub-sub{margin-top:var(--s3);padding-top:var(--s2);border-top:1px dashed var(--rule);}
.hub-sub-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}
.hub-sub-label .glyph{width:13px;height:13px;}
.hub-quotes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
.hub-quotes li{padding:8px 12px;border-radius:10px;background:var(--paper);border-left:3px solid var(--primary);font-size:var(--t-sm);}
.hub-note{display:flex;align-items:center;gap:6px;margin:var(--s2) 0 0;font-size:var(--t-xs);color:var(--warn);font-weight:600;}
.hub-canvas{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s3);margin-top:var(--s3);}
.hub-dots{display:inline-flex;gap:3px;}
.hub-dots i{width:10px;height:10px;border-radius:3px;background:var(--sunk);border:1px solid var(--rule);}
.hub-dots i[data-on]{background:var(--primary);border-color:var(--primary);}
.hub-progress{position:relative;display:flex;align-items:center;flex:none;width:min(220px,100%);height:20px;border-radius:999px;background:var(--sunk);overflow:hidden;}
.hub-progress i{position:absolute;inset:0 auto 0 0;background:var(--good-soft);border-right:2px solid var(--good);}
.hub-progress[data-tone="risk"] i,.hub-progress[data-tone="behind"] i{background:var(--attention-soft);border-right-color:var(--attention);}
.hub-progress[data-tone="watch"] i,.hub-progress[data-tone="at-risk"] i{background:var(--warn-soft);border-right-color:var(--warn);}
.hub-progress b{position:relative;width:100%;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink);}
.hub-load .hub-progress{width:100%;height:24px;margin-bottom:var(--s2);}
.hub-coach{margin:0;font-family:var(--font-display);font-size:var(--t-lg);font-weight:600;}
.pill[data-stage="check"]{border-color:var(--warn);color:var(--warn);}
.pill[data-stage="running"]{border-color:var(--primary);color:var(--primary-ink);}
@media (max-width:760px){.team-hero{grid-template-columns:minmax(0,1fr);}.team-hero-side{align-items:flex-start;}.team-pages{justify-content:flex-start;}}
.wel-canvas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);}
.wel-canvas section{border-radius:12px;padding:10px 12px;background:var(--paper);border-top:3px solid var(--primary);}
.wel-canvas section[data-block="goals"]{border-top-color:var(--good);}
.wel-canvas section[data-block="values"]{border-top-color:var(--warn);}
.wel-canvas h3{font-size:var(--t-sm);margin:0 0 6px;}
.wel-canvas ul{margin:0;padding-left:18px;font-size:var(--t-sm);display:flex;flex-direction:column;gap:4px;}
.wel-agreements+.wel-agreements{margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--rule);}
.wel-agreements h3{font-size:var(--t-sm);margin:0 0 6px;color:var(--ink-soft);}
.wel-people .avatar-tint{flex:none;}
.pf-health{display:flex;align-items:center;gap:var(--s3);}
.pf-health .mini-trend{width:80px;height:22px;flex:none;}
.pf-count{display:inline-block;min-width:24px;text-align:center;padding:1px 8px;border-radius:999px;background:var(--attention-soft);color:var(--attention);font-weight:700;text-decoration:none;}
/* leading by turns (README §Decisions 122) */
.fd-steps{list-style:none;padding:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:var(--s3);}
.fd-steps li{display:flex;gap:var(--s3);align-items:flex-start;padding:14px 16px;border-radius:var(--rad-lg);background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);}
.fd-step-icon{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-ink);}
.fd-step-icon .glyph{width:20px;height:20px;}
.fd-steps .hub-more{margin-top:6px;}
.fd-order{list-style:none;padding:0;gap:6px;margin-bottom:var(--s3);}
.fd-order li{display:flex;align-items:center;gap:8px;}
.fd-events li{padding:8px 10px;border-radius:10px;background:var(--paper);}
.fd-events li[data-me]{background:var(--primary-soft);color:var(--primary-ink);}
.fd-events li[data-me] .thin{color:var(--primary-ink);}
/* the retrospective (README §Decisions 122) */
.retro-add-row{grid-template-columns:minmax(0,1fr) auto;}
.retro-add-cols{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s2);}
.retro-add-cols button{font:inherit;font-size:var(--t-xs);font-weight:700;padding:4px 12px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer;}
.retro-add-cols button[aria-checked="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.retro-add-cols button[data-tone="good"]{box-shadow:inset 3px 0 0 var(--good);}
.retro-add-cols button[data-tone="bad"]{box-shadow:inset 3px 0 0 var(--attention);}
.retro-add-cols button[data-tone="watch"]{box-shadow:inset 3px 0 0 var(--warn);}
.retro-add-cols button[data-tone="idea"]{box-shadow:inset 3px 0 0 var(--primary);}
.note-tools .btn .glyph{width:13px;height:13px;margin-right:4px;}
.act-exp{margin-top:var(--s3);font-weight:600;}
.act-exp .glyph{width:15px;height:15px;color:var(--primary-ink);}
/* follow-up: drag between columns, add on the board, where an action came from (README §Decisions 122) */
.fu-drop{display:flex;flex-direction:column;gap:10px;min-height:120px;border-radius:12px;padding:4px;margin:-4px;}
.fu-new{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:var(--paper);border:1px dashed var(--rule-strong);}
.fu-new input:not([type="date"]){width:100%;}
.fu-new select{flex:1;min-width:0;}
.fu-origin{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);color:var(--ink-soft);text-decoration:none;}
.fu-origin .glyph{width:12px;height:12px;}
.fu-origin:hover{color:var(--primary-ink);text-decoration:underline;}
.fu-card.dnd-item[draggable="true"]:hover{border-color:var(--primary);box-shadow:var(--shadow);}
.fu-actions .btn .glyph{width:13px;height:13px;}
/* experiments measured by ratings, dragged along the board, adopted from the library (README §Decisions 124) */
.ex-col{min-height:160px;}
.ex-signal{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:var(--paper);border:1px solid var(--rule);}
.ex-signal-head{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);}
.ex-signal-head .glyph{width:13px;height:13px;}
.ex-signal-nums{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm);}
.ex-signal-nums .glyph{width:13px;height:13px;color:var(--ink-soft);}
.ex-signal-nums small{color:var(--ink-soft);}
.ex-signal-delta{margin-left:auto;font-weight:700;padding:0 8px;border-radius:999px;background:var(--sunk);}
.ex-signal[data-dir="up"] .ex-signal-delta{background:var(--good-soft);color:var(--ink);}
.ex-signal[data-dir="down"] .ex-signal-delta{background:var(--attention-soft);color:var(--attention);}
.ex-signal .chart{margin-top:2px;}
.ex-library li{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);}
.ex-library li .btn .glyph{width:13px;height:13px;}
/* impediments: an owner and next step, and the open ones at a glance (README §Decisions 124) */
.imp-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s3);align-items:stretch;}
.imp-ov-chart{padding:12px 14px;display:flex;flex-direction:column;gap:4px;justify-content:center;}
.imp-ov-chart .chart{max-height:110px;}
.imp-plan{display:flex;align-items:center;gap:8px;width:100%;margin-top:var(--s2);padding:7px 10px;border-radius:10px;border:1px solid var(--rule);background:var(--paper);font:inherit;font-size:var(--t-sm);text-align:left;color:var(--ink);cursor:pointer;}
.imp-plan .glyph{width:14px;height:14px;color:var(--primary-ink);flex:none;}
.imp-plan:hover{border-color:var(--primary);}
.imp-plan[data-empty]{border-style:dashed;color:var(--ink-soft);}
.imp-plan[data-late]{border-color:var(--attention);background:var(--attention-soft);}
.imp-plan[data-late] .thin{color:var(--attention);font-weight:700;}
.pi-risk-imp{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);font-weight:700;color:var(--attention);text-decoration:none;}
.pi-risk-imp .glyph{width:12px;height:12px;}
.dlg-foot .btn .glyph{width:14px;height:14px;margin-right:4px;}
/* postmortems: the incident on a time axis, a chain of whys, learnings to the retro (README §Decisions 124) */
.pm-strip{margin:0 0 var(--s3);}
.pm-strip-track{position:relative;height:58px;border-radius:12px;background:var(--paper);border:1px solid var(--rule);}
.pm-span{position:absolute;height:16px;border-radius:999px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;}
.pm-span small{padding:0 8px;font-size:11px;font-weight:700;}
.pm-span[data-kind="ttr"]{top:8px;background:var(--attention-soft);border:1px solid var(--attention);color:var(--attention);}
.pm-span[data-kind="ttd"]{top:30px;background:var(--warn-soft);border:1px solid var(--warn);color:var(--warn);}
.pm-dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--surface);border:2px solid var(--ink-soft);z-index:1;}
.pm-dot[data-kind="started"]{border-color:var(--attention);background:var(--attention);}
.pm-dot[data-kind="detected"]{border-color:var(--warn);background:var(--warn);}
.pm-dot[data-kind="mitigated"]{border-color:var(--primary);}
.pm-dot[data-kind="resolved"]{border-color:var(--good);background:var(--good);}
.pm-strip-axis{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--ink-soft);margin-top:4px;}
.pm-whys{counter-reset:none;}
.pm-whys li{position:relative;}
.pm-whys li+li::before{content:"↓";position:absolute;left:12px;top:-14px;color:var(--ink-soft);font-size:12px;}
.pm-whys li:last-child .pm-why-n{color:var(--attention);font-weight:800;}
.pm-to-retro{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--primary-soft);color:var(--primary-ink);}
.pm-to-retro .glyph{width:18px;height:18px;}
.pm-to-retro span{flex:1;min-width:220px;}
/* agreements: examples to start from, rules from the canvas, a review date of the team's choosing (README §Decisions 124) */
.ag-empty{display:flex;flex-direction:column;gap:8px;}
.ag-empty p{margin:0;}
.ag-examples,.ag-from{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.ag-examples .chip,.ag-from .chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;text-align:left;}
.ag-examples .chip:hover,.ag-from .chip:hover{border-color:var(--primary);color:var(--primary-ink);}
.ag-examples .glyph,.ag-from .glyph{width:12px;height:12px;flex:none;}
.ag-from{margin-top:var(--s3);padding:10px 12px;border-radius:12px;background:var(--paper);}
.ag-from-head{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-soft);width:100%;}
.ag-next{display:inline-flex;align-items:center;gap:6px;}
.coach-delta{margin-left:8px;font-size:var(--t-xs);font-weight:700;padding:1px 8px;border-radius:999px;background:var(--sunk);font-variant-numeric:tabular-nums;}
.coach-delta[data-dir="up"]{background:var(--good-soft);color:var(--ink);}
.coach-delta[data-dir="down"]{background:var(--attention-soft);color:var(--attention);}
.coach-option .hub-more{align-self:flex-start;}
/* maturity scan: the focus put into practice by the team (README §Decisions 124) */
.ms-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;}
.ms-plan-head>p{max-width:520px;margin:0;}
.ms-practice-for{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:600;margin:0;}
.ms-practice-for select{width:auto;min-width:160px;}
.ms-practice-for .glyph{width:16px;height:16px;color:var(--primary-ink);}
.ms-practice{margin-top:var(--s2);padding:12px 14px;border-radius:12px;background:var(--primary-soft);display:flex;flex-direction:column;gap:8px;}
.ms-practice h4{display:flex;align-items:center;gap:6px;margin:0;color:var(--primary-ink);}
.ms-practice h4 .glyph{width:14px;height:14px;}
.ms-practice ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ms-practice li{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:10px;background:var(--surface);}
.ms-practice-text{font-size:var(--t-sm);}
.ms-practice-btns{display:flex;gap:6px;flex-wrap:wrap;}
.ms-practice-btns .btn,.ms-practice-retro .btn{padding:4px 10px;font-size:var(--t-xs);display:inline-flex;align-items:center;gap:5px;}
.ms-practice .glyph{width:13px;height:13px;flex:none;}
.ms-practice-done{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:var(--t-xs);font-weight:700;padding:3px 10px;border-radius:999px;background:var(--good-soft);color:var(--ink);text-decoration:none;}
.ms-practice-retro{display:flex;}
.ms-practice-retro p{margin:0;}
.ms-play-focus{display:flex;flex-direction:column;gap:4px;padding-top:var(--s2);border-top:1px solid var(--rule);}
.ms-play-focus h3{margin:0;font-size:var(--t-md);}
.ms-play-focus>p{margin:0;}
/* OKRs: edited in place, delivered by the roadmap, against the time gone (README §Decisions 125) */
.okr-bar{position:relative;overflow:visible;}
.okr-bar i{border-radius:4px;}
.okr-now{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px;}
.okr-kr[data-behind] .okr-kr-title{font-weight:600;}
.okr-kr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:var(--t-xs);}
.okr-kr-meta .thin{margin-right:4px;}
.okr-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--sunk);color:var(--ink);font-size:var(--t-xs);font-weight:600;text-decoration:none;}
a.okr-chip{background:var(--primary-soft);color:var(--primary-ink);}
a.okr-chip:hover{text-decoration:underline;}
.okr-chip[data-tone="watch"]{background:var(--warn-soft);color:var(--ink);}
.okr-chip[data-late]{background:var(--attention-soft);color:var(--attention);}
.okr-chip .glyph{width:12px;height:12px;flex:none;}
.okr-kr-edit{margin-left:auto;font-size:var(--t-xs);}
.okr-parent{display:inline-flex;align-items:center;gap:5px;margin:4px 0 0 !important;font-size:var(--t-xs);color:var(--ink-soft);}
.okr-parent .glyph{width:12px;height:12px;}
.okr-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;}
.okr-actions .btn .glyph{width:14px;height:14px;}
.okr-examples{display:flex;flex-wrap:wrap;gap:6px;width:100%;}
.okr-examples .chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;}
.okr-examples .chip:hover{border-color:var(--primary);color:var(--primary-ink);}
.okr-examples .glyph{width:12px;height:12px;}
.okr-newkr>.field,.okr-newkr>label{width:100%;}
.rm-pi-chip[data-kind="okr"]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary);}
/* PI: late dependencies, key results on objectives, capacity from the planner (README §Decisions 125) */
path.pi-string[data-late]{stroke-width:3.4;filter:drop-shadow(0 0 2px var(--attention-soft));}
.pi-late{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:12px;background:var(--attention-soft);border:1px solid var(--attention);color:var(--ink);}
.pi-late b{display:inline-flex;align-items:center;gap:6px;color:var(--attention);}
.pi-late .glyph{width:14px;height:14px;}
.pi-late ul{margin:0;padding-left:20px;font-size:var(--t-sm);}
.pi-late .link{background:none;border:0;padding:0;font:inherit;color:var(--primary-ink);text-decoration:underline;cursor:pointer;}
.pi-obj-krs{list-style:none;margin:6px 0 0;padding:6px 0 0;border-top:1px dashed var(--rule-strong);display:flex;flex-direction:column;gap:4px;font-size:var(--t-xs);}
.pi-obj-krs li{display:grid;grid-template-columns:minmax(0,1fr) 54px auto;gap:6px;align-items:center;}
.pi-obj-krs a{display:inline-flex;align-items:center;gap:4px;color:var(--primary-ink);font-weight:600;text-decoration:none;min-width:0;}
.pi-obj-krs a:hover{text-decoration:underline;}
.pi-obj-krs .glyph{width:12px;height:12px;flex:none;}
.pi-obj-kr-bar{height:6px;border-radius:3px;background:var(--sunk);overflow:hidden;}
.pi-obj-kr-bar i{display:block;height:100%;background:var(--primary);}
.pi-cap-avail{display:block;font-size:10px;font-weight:700;color:var(--ink-soft);text-align:center;}
/* dependencies: late ones and links to the board (README §Decisions 125) */
.dep-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.dep-line{display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm);}
.dep-line[data-late]>span:first-child::after{content:"";display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--warn);vertical-align:middle;}
.dep-pi{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);text-decoration:none;}
.dep-pi:hover{text-decoration:underline;}
.dep-pi .glyph{width:12px;height:12px;}
/* priorities: dragged ranking, linked titles (README §Decisions 125) */
.ip-drag-hint{display:inline-flex;align-items:center;gap:6px;margin:0;}
.ip-drag-hint .glyph{width:14px;height:14px;}
.ip-row.dnd-item{cursor:grab;}
.ip-row[data-over]{box-shadow:0 -3px 0 0 var(--primary);}
.ip-title-link{color:inherit;text-decoration:none;}
.ip-title-link:hover b{text-decoration:underline;}
/* costs: value for money and a what-if (README §Decisions 125) */
.cc-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--s4);align-items:start;}
.cc-value{width:100%;height:auto;display:block;}
.cc-q-bad{fill:var(--attention-soft);opacity:.7;}
.cc-q-good{fill:var(--good-soft);opacity:.8;}
.cc-q-label{font-size:11px;font-weight:700;fill:var(--ink-soft);}
.cc-grid{stroke:var(--rule);stroke-dasharray:2 4;}
.cc-axis{font-size:10px;fill:var(--ink-soft);}
.cc-dot circle{fill:var(--v);fill-opacity:.25;stroke:var(--v);stroke-width:2;}
.cc-dot text{font-size:11px;font-weight:700;fill:var(--ink);}
.cc-whatif{display:flex;flex-direction:column;gap:10px;}
.cc-whatif-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,1.2fr) minmax(110px,1.2fr) auto;gap:10px;align-items:center;font-size:var(--t-sm);}
.cc-whatif-row label{display:flex;flex-direction:column;gap:2px;}
.cc-whatif-row input[type="range"]{width:100%;accent-color:var(--primary);}
.cc-whatif-cost{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.cc-whatif-cost small{font-weight:500;color:var(--ink-soft);}
.cc-whatif-total{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.cc-whatif-total b{font-size:var(--t-md);}
.cc-whatif-total[data-dir="save"] b{color:var(--good);}
.cc-whatif-total[data-dir="cost"] b{color:var(--attention);}
.cc-whatif-total .btn{margin-left:auto;}
@media (max-width:640px){.cc-whatif-row{grid-template-columns:1fr 1fr;}.cc-whatif-row b{grid-column:1/-1;}}
/* Obeya: cards dragged between walls, live cards open their source (README §Decisions 125) */
.ob-card.dnd-item>header[draggable="true"]{cursor:grab;}
.ob-card[data-over]{box-shadow:0 -3px 0 0 var(--primary),var(--shadow);}
.ob-cards.dnd-zone[data-over]{outline:2px dashed var(--primary);outline-offset:4px;border-radius:var(--rad);}
.ob-card[data-dragging]{opacity:.45;}
.ob-live-open{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);text-decoration:none;}
.ob-live-open:hover{text-decoration:underline;}
.ob-live-open .glyph{width:12px;height:12px;}
/* PI preparation: each item's place on the roadmap and the PI board (README §Decisions 125) */
.pp-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.pp-next{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:10px 14px;border-radius:12px;background:var(--primary-soft);color:var(--ink);font-size:var(--t-sm);}
.pp-next .glyph{width:16px;height:16px;color:var(--primary-ink);}
.pp-next a{color:var(--primary-ink);font-weight:700;}
/* the report: delivered, solved, learned (README §Decisions 125) */
.report-h4{margin:0 0 4px;font-size:var(--t-sm);}
.report-h4[data-tone="risk"]{color:var(--attention);}
.report-items{margin:0 0 var(--s2);padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);}
.report-more{font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);}
.slide-delivered{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s3);align-items:start;}
/* notebook: templates, search, acting on a note (README §Decisions 125) */
.nb-templates{display:flex;flex-wrap:wrap;gap:6px;}
.nb-templates .chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;}
.nb-templates .chip:hover{border-color:var(--primary);color:var(--primary-ink);}
.nb-templates .glyph{width:12px;height:12px;}
.nb-search{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);}
.nb-search input{border:0;background:transparent;flex:1;min-width:0;padding:4px 0;}
.nb-search input:focus{outline:none;}
.nb-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.nb-search .glyph{width:16px;height:16px;color:var(--ink-soft);}
.nb-act{display:inline-flex;flex-wrap:wrap;gap:2px;margin-left:auto;}
.nb-act .btn{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);}
.nb-act .glyph{width:13px;height:13px;}
/* Today: the day's holiday and who is away (README §Decisions 126) */
.today-day{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--rule);font-size:var(--t-sm);}
.today-holiday,.today-away{display:inline-flex;align-items:center;gap:6px;}
.today-holiday{font-weight:700;color:var(--ink);}
.today-day .glyph{width:15px;height:15px;color:var(--primary-ink);}
.today-day a{margin-left:auto;font-weight:600;color:var(--primary-ink);}
/* dashboard: what needs a look, widgets dragged into place (README §Decisions 126) */
.db-signals{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;}
.db-signal{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-sm);}
.db-signal i{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--ink-soft);}
.db-signal[data-tone="attention"] i{background:var(--attention);}
.db-signal[data-tone="warn"] i{background:var(--warn);}
.db-widget.dnd-item{cursor:grab;}
.db-widget[data-over]{box-shadow:-4px 0 0 0 var(--primary),var(--shadow);}
.db-widget[data-dragging]{opacity:.45;}
/* pulse: act on a low result (README §Decisions 126) */
.pulse-act{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.pulse-act>span{display:inline-flex;align-items:center;gap:5px;margin-right:auto;}
.pulse-act .glyph{width:13px;height:13px;}
.pulse-act .btn{display:inline-flex;align-items:center;gap:4px;}
.pulse-act select{width:auto;}
/* rate: your own trend, on this device (README §Decisions 126) */
.rate-mine{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-direction:column;gap:8px;}
.rate-mine li{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:10px;align-items:center;font-size:var(--t-sm);}
.rate-mine b{font-variant-numeric:tabular-nums;}
/* reviews: what the team works on, picked from the board (README §Decisions 126) */
.rv-picks{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.rv-picks .chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;}
.rv-picks .chip[aria-pressed="true"]{border-style:solid;border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);}
.rv-picks .glyph{width:12px;height:12px;}
/* live retro: the notes with the most dots become actions (README §Decisions 126) */
.live-top{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--primary-soft);}
.live-top ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.live-top li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font-size:var(--t-sm);}
.live-dots{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-weight:800;font-size:var(--t-xs);}
.live-top-done{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:700;color:var(--primary-ink);}
.live-top .btn{display:inline-flex;align-items:center;gap:4px;}
.live-top .glyph{width:13px;height:13px;}
.live-follow{font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);}
/* suggestion box: a way to start (README §Decisions 126) */
.sg-starts{display:flex;flex-wrap:wrap;gap:6px;}
.sg-starts .chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;}
.sg-starts .chip:hover{border-color:var(--primary);color:var(--primary-ink);}
.sg-starts .glyph{width:12px;height:12px;}
.ov-score{align-items:center;}
.ov-score .mini-trend{width:70px;height:22px;}
.ov-trend{max-width:520px;}
/* organisation setup in four parts, and the rest of the tool (README §Decisions 127) */
.org-tabs a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;}
.org-tabs .glyph{width:15px;height:15px;}
.org-rest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.org-rest a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--rule);border-radius:12px;color:var(--ink);text-decoration:none;}
.org-rest a:hover{border-color:var(--primary);}
.org-rest b{display:block;}
.org-rest small{display:block;color:var(--ink-soft);font-size:var(--t-xs);}
.org-rest .glyph{width:16px;height:16px;color:var(--primary-ink);}
.ms-tabs a{font:inherit;border-bottom:3px solid transparent;padding:var(--s2) var(--s3);color:var(--ink-soft);white-space:nowrap;}
.ms-tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--primary);font-weight:600;}
.ms-tabs a:hover{color:var(--ink);}
/* connections: health, and what each feeds (README §Decisions 127) */
.in-feeds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;}
.in-feeds li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--rule);border-radius:12px;}
.in-feed-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.in-feed-links a{font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);padding:1px 8px;border-radius:999px;background:var(--primary-soft);text-decoration:none;}
.in-feed-links a:hover{text-decoration:underline;}
/* meeting output: a drop zone, the notes it becomes, links on (README §Decisions 127) */
.up-drop{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:2px dashed var(--rule-strong);border-radius:14px;background:var(--surface);cursor:pointer;}
.up-drop[data-over],.up-drop:focus-within{border-color:var(--primary);background:var(--primary-soft);}
.up-drop .glyph{width:24px;height:24px;color:var(--primary-ink);flex:none;}
.up-drop b{display:block;}
.up-drop small{display:block;color:var(--ink-soft);font-size:var(--t-xs);}
.up-drop input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.up-pieces{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);}
.up-links{display:inline-flex;gap:8px;margin-right:auto;margin-left:12px;}
.up-links a{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:600;color:var(--primary-ink);}
.up-links .glyph{width:12px;height:12px;}

/* ---------- release 136: the menu, Settings and Retro follow-up (README §Decisions 136) ---------- */
.nav-settings{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--rule);}
@media (max-width:940px){.nav-settings{margin-top:0;padding-top:0;border-top:0;}}
.topbar-back{display:inline-block;font-size:var(--t-xs);color:var(--ink-soft);text-decoration:none;margin-bottom:2px;}
.topbar-back:hover{color:var(--primary-ink);text-decoration:underline;}
.set-h{font-size:var(--t-lg);margin:0;}
.set-part{gap:var(--s3);}
.set-part + .set-part{margin-top:var(--s4);}
.set-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s2);}
.set-cards a{height:100%;background:var(--surface);}
.set-grid{gap:var(--s4);}
.nt-settings{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--t-sm);}
.nt-settings .glyph{width:14px;height:14px;color:var(--ink-soft);}
.nt-settings a{color:var(--primary-ink);}
.ms-tabs button[role="tab"]{display:inline-flex;align-items:center;gap:6px;}
.ms-tabs button[role="tab"] .glyph{width:15px;height:15px;}
.ms-tabs button[role="tab"][aria-selected="true"]{color:var(--ink);border-bottom-color:var(--primary);font-weight:600;}
.ms-tabs button[role="tab"]:hover{color:var(--ink);}
.ms-tabs button[role="tab"]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--rad) var(--rad) 0 0;}
span.fu-origin:hover{color:var(--ink-soft);text-decoration:none;}
.rate-stored{display:flex;align-items:flex-start;gap:8px;margin:0;max-width:520px;}
.rate-stored .glyph{width:14px;height:14px;margin-top:1px;color:var(--primary-ink);}
.rate-stored a{color:var(--primary-ink);font-weight:600;white-space:nowrap;}
.signup-privacy{margin-top:var(--s3);}
/* The title keeps beside its glyph when the line under it is long, as on Organisation setup (README §Decisions 136). */
.topbar-text{min-width:0;}
@media (min-width:641px){.topbar-text{flex:1 1 240px;}}
.set-lang{max-width:16rem;}

/* ---------- release 137: sprints and ceremonies by hand (README §Decisions 137) ---------- */
.rh-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-template-areas:"sprints ceremonies" "upcoming ceremonies";grid-template-rows:auto 1fr;gap:var(--s5);align-items:start;}
.rh-layout>div{min-width:0;}
.rh-area-sprints{grid-area:sprints;} .rh-area-ceremonies{grid-area:ceremonies;} .rh-area-upcoming{grid-area:upcoming;}
@media (max-width:1100px){.rh-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"sprints" "ceremonies" "upcoming";grid-template-rows:none;}}
.rh-stack{gap:var(--s3);}
.rh-form{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:flex-start;}
.rh-form .field{flex:1 1 150px;min-width:0;}
.rh-form .field input,.rh-form .field select{width:100%;}
.rh-form-actions{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;width:100%;}
.rh-form-hint{width:100%;margin:-2px 0 0;}
.rh-sprintlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2);}
.rh-sprintlist li{display:flex;flex-direction:column;gap:4px;padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--rad);background:var(--surface);}
.rh-sprintlist li[data-state="active"]{border-color:var(--primary);background:var(--primary-soft);}
.rh-sprintlist li[data-state="closed"]{background:var(--sunk);}
.rh-sprint-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);}
.rh-sprintlist li[data-state="active"] .thin{color:var(--ink-soft);}
.rh-series{list-style:none;margin:0;padding:0;}
.rh-series li{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:var(--s3);align-items:center;padding:var(--s2) 0;border-top:1px solid var(--rule);}
.rh-series li:first-child{border-top:none;}
.rh-type{align-self:stretch;border-radius:2px;background:var(--rule-strong);min-height:34px;}
.rh-type[data-type="daily"]{background:var(--primary);}
.rh-type[data-type="planning"]{background:var(--accent);}
.rh-type[data-type="refinement"]{background:var(--good);}
.rh-type[data-type="review"]{background:var(--warn);}
.rh-type[data-type="retro"]{background:var(--attention);}
.rh-series-text{display:flex;flex-direction:column;min-width:0;}
.rh-series-text>b{font-weight:600;}
.rh-title{font-size:var(--t-sm);color:var(--ink-soft);}
.rh-when{font-size:var(--t-sm);color:var(--ink-soft);}
.rh-series-actions{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end;}
.rh-cal{display:inline-flex;align-items:center;gap:4px;font-weight:500;background:var(--sunk);color:var(--ink-soft);}
.rh-cal .glyph{width:12px;height:12px;}
.rh-standard{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);padding:var(--s3);border:1px dashed var(--rule-strong);border-radius:var(--rad);background:var(--sunk);}
.rh-standard h3{display:flex;align-items:center;gap:6px;font-size:var(--t-md);}
.rh-standard h3 .glyph{color:var(--primary-ink);}
.rh-standard ul{margin:0;padding-left:18px;font-size:var(--t-sm);color:var(--ink-soft);display:flex;flex-direction:column;gap:2px;}
.rh-standard ul b{color:var(--ink);font-weight:600;}
.rh-dialog{display:flex;flex-direction:column;gap:var(--s3);}
.rh-dialog-row{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);}
.rh-dialog-row .field{flex:1 1 120px;min-width:0;}
.rh-dialog-row .field input,.rh-dialog-row .field select,.rh-dialog>.field select,.rh-dialog>.field input{width:100%;}
.rh-warn{display:flex;gap:8px;align-items:flex-start;margin:0;padding:var(--s2) var(--s3);border-radius:var(--rad);background:var(--warn-soft);color:var(--ink);font-size:var(--t-sm);}
.rh-warn .glyph{flex:none;margin-top:3px;color:var(--warn);}
.rh-upcoming{list-style:none;margin:0;padding:0;}
.rh-upcoming li{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:var(--s3);align-items:start;padding:7px 0;border-top:1px solid var(--rule);font-size:var(--t-sm);}
.rh-upcoming li:first-child{border-top:none;}
.rh-up-when,.rh-up-name{display:flex;flex-direction:column;min-width:0;}
.rh-up-day{color:var(--ink);}
.rh-up-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:var(--t-xs);}
.rh-up-name .thin{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:560px){
  .rh-series li{grid-template-columns:4px minmax(0,1fr);}
  .rh-series-actions{grid-column:2;justify-content:flex-start;}
}
.hub-rhythm{font-size:var(--t-sm);}
.oj-actions{display:flex;gap:var(--s2);flex-wrap:wrap;}
/* README §Decisions 142: invitations still waiting on the people step; connecting a calendar in the rhythm step and on Sprints and ceremonies. */
.oj-waiting{font-weight:400;color:var(--ink-soft);}
.oj-connect{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--rule);}
.oj-connect .field{margin:0;min-width:min(100%,13rem);}
.rh-connect{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px dashed var(--rule-strong);border-radius:var(--rad);background:var(--sunk);font-size:var(--t-sm);color:var(--ink-soft);}
.rh-connect .glyph{width:14px;height:14px;color:var(--primary-ink);}
.rh-connect a:not(.btn){font-weight:600;}
.rh-connect-actions{display:flex;flex-wrap:wrap;gap:var(--s2);}

/* Escalation follows the organisation's structure, and Organisation setup sets it (README §Decisions 138) */
.esc-path{list-style:none;margin:var(--s2) 0 var(--s3);padding:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:6px 22px;}
.esc-path li{position:relative;display:flex;flex-direction:column;gap:1px;padding:6px 10px;border-radius:10px;background:var(--sunk);font-size:var(--t-sm);min-width:0;}
.esc-path li b{overflow-wrap:anywhere;}
.esc-path li+li::before{content:"\2192";position:absolute;left:-17px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-weight:700;}
.esc-path li[data-state="now"]{background:var(--paper);box-shadow:inset 0 0 0 1px var(--rule);}
.esc-path li[data-state="next"]{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary);}
.esc-lvl{font-size:var(--t-xs);color:var(--ink-soft);}
.esc-note{font-size:var(--t-sm);background:var(--attention-soft);color:var(--ink);padding:var(--s2) var(--s3);border-radius:var(--rad);}
.esc-how{margin-top:var(--s2);}
.esc-explain{padding:var(--s3) var(--s4);}
.esc-explain summary{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;}
.esc-explain summary .glyph{width:16px;height:16px;flex:none;}
.esc-explain ul{margin:var(--s2) 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);color:var(--ink-soft);}
.st-escalation{display:flex;align-items:flex-start;gap:8px;margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--ink-soft);background:var(--sunk);padding:var(--s2) var(--s3);border-radius:var(--rad);}
.st-escalation .glyph{width:14px;height:14px;flex:none;margin-top:3px;}
.st-tree,.st-teams{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.st-unit{border-left:2px solid var(--rule);padding-left:var(--s2);}
.st-head{display:flex;align-items:center;gap:6px;min-height:32px;}
.st-name{font-weight:700;text-align:left;border-radius:6px;padding:2px 4px;}
.st-name:hover{background:var(--sunk);}
.st-tools{display:flex;gap:2px;margin-left:auto;}
.st-team{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);padding-left:var(--s3);flex-wrap:wrap;}
.st-team .glyph{width:14px;height:14px;flex:none;color:var(--ink-soft);}
.st-team span{flex:1;min-width:0;overflow-wrap:anywhere;}
.st-team select{margin-left:auto;max-width:50%;font-size:var(--t-xs);}
.st-unplaced{margin-top:var(--s3);}

/* ==========================================================================
   Design pass "Coretime" (README §Decisions 139, docs/45-coretime-brand.md). The brand guide's calm: a flat Canvas
   page, white cards with 8-12 px corners on an 8 px rhythm, Core green headings and one primary action, a short
   coral rule by a page title, Growth coral only for small accents (about 5%), the logo as drawn and never retyped.
   Selectors match the rules they refine.
   ========================================================================== */
:root{--heading:#0E3927;}
html[data-theme="dark"]{--heading:var(--ink);}
h1,h2,h3{color:var(--heading);}
h2{font-size:18px;line-height:1.3;}
h3{line-height:1.3;}

/* the logo: the lockup at the guide's 180 px minimum where there is room, the mark alone (32 px) where the menu is a
   bar; on the dark theme the contra logo (README §Decisions 141): white where it is Core green, the coral kept, no
   plate; the name stays as text for screen readers */
.brand{padding:4px var(--s2) var(--s2);gap:0;}
.brand .brand-logo{display:block;width:180px;height:auto;flex:none;}
.brand .brand-icon{display:none;width:36px;height:32px;flex:none;}
.brand b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
html[data-theme="dark"] .logo-ink{fill:#FFFFFF;}
@media (max-width:940px){ .rail .brand{padding:0;} .rail .brand .brand-logo{display:none;} .rail .brand .brand-icon{display:block;} }
.signin .brand{padding:0 0 var(--s2);}
.ops-head .brand{padding:0;margin-right:var(--s3);}
.ops-head .brand .brand-logo{width:180px;}
.phone-brand{display:block;height:32px;width:36px;margin-bottom:var(--s2);}
.presenter-logo{display:block;width:180px;height:auto;margin-bottom:var(--s3);}
.presenter:fullscreen .presenter-logo{width:240px;}
.ob-tv-brand{height:32px;width:36px;flex:none;}
.card-head .brand-bars{width:24px;height:24px;flex:none;}

/* the menu: Canvas, the current page a white card with a coral rule; DejaVu Sans is wide, so a touch smaller */
.nav a{font-size:14px;}
.avatar{font-size:11px;letter-spacing:-.02em;}
.nav a[aria-current="page"]{background:var(--surface);color:var(--primary);box-shadow:inset 3px 0 0 var(--accent),var(--shadow);}
html[data-theme="dark"] .nav a[aria-current="page"]{background:var(--primary-soft);color:var(--primary-ink);}

/* the page: flat Canvas, the screen's glyph on a Core green tile, a short coral rule above the title (drawn in the
   space above it, so the page does not move) */
.main{background:none;}
.topbar-icon{background:var(--primary);box-shadow:none;border-radius:var(--rad-lg);}
.topbar-text h1{position:relative;}
.topbar-text h1::before{content:"";position:absolute;left:0;top:-10px;width:32px;height:4px;border-radius:2px;background:var(--accent);}
.topbar-back+h1::before{display:none;}
@media (max-width:640px){ .topbar-text h1::before{display:none;} }
@media (max-width:560px){ h1{font-size:28px;} }
.empty-state{background:var(--surface);}
.db-widget[data-kind="greeting"]{background:var(--surface);}
.team-hero{background:var(--surface);}
.wel-hero{border-top-color:var(--accent);}

/* controls: Core green for the one primary action, white with a calm edge for the rest */
.btn-primary:hover:not(:disabled){background:var(--primary-ink);border-color:var(--primary-ink);}
.scores button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--accent);}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
html[data-theme="dark"] :focus-visible{outline-color:var(--primary-ink);}

/* the leadership deck and slides: Core green titles on white, the coral rule on the cover */
.slide-title,.slide-cover h1{color:var(--heading);}
/* the deck and the facilitator screen are a deep green stage in both themes: their actions take the mint primary */
.deck-nav .btn-primary,.deck-bar .btn-primary,.lab-fac .btn-primary{background:#8FD6AF;border-color:#8FD6AF;color:#0B1E16;}
.deck-nav .btn-primary:hover:not(:disabled),.deck-bar .btn-primary:hover:not(:disabled),.lab-fac .btn-primary:hover:not(:disabled){background:#AEE4C6;border-color:#AEE4C6;}
.deck-nav :focus-visible,.deck-bar :focus-visible,.lab-fac :focus-visible{outline-color:#AEE4C6;}

/* Phones (README §Decisions 139): nothing pushes the page sideways; a wide table scrolls inside its panel. */
.kv{flex-wrap:wrap;}
.ov-team{grid-template-columns:minmax(0,1fr);}
.ov-team header{flex-wrap:wrap;}
@media (max-width:640px){
  .panel-body > table, table.in-teams{display:block;overflow-x:auto;max-width:100%;}
}

/* Agile Ceremony Persona: component styles, generated from the preview stylesheet (doc 07, §5.4).
   Map the --acp-* tokens onto Coretime's design tokens (06) where they differ. */
.agile-ceremony-persona {
  --acp-paper: #ffffff;
  --acp-wash: #eef4f2;
  --acp-ink: #16302c;
  --acp-muted: #52615e;
  --acp-teal: #0f5d54;
  --acp-teal-wash: #e1efec;
  --acp-plum: #a32d62;
  --acp-line: #d3dfdc;
  --acp-control: #6a807c;
  --acp-on-teal: #ffffff;
  --acp-font: "IBM Plex Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  container-type: inline-size;
  color: var(--acp-ink);
  font-family: var(--acp-font);
  line-height: 1.5;
}
.agile-ceremony-persona,
.agile-ceremony-persona *,
.agile-ceremony-persona *::before,
.agile-ceremony-persona *::after { box-sizing: border-box; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .agile-ceremony-persona {
    --acp-paper: #0e1a18;
    --acp-wash: #172a27;
    --acp-ink: #e4eeeb;
    --acp-muted: #a3b5b1;
    --acp-teal: #5cc3b3;
    --acp-teal-wash: #173a35;
    --acp-plum: #ee8fba;
    --acp-line: #2b413d;
    --acp-control: #6f8e89;
    --acp-on-teal: #0e1a18;
  }
}
:root[data-theme="dark"] .agile-ceremony-persona {
  --acp-paper: #0e1a18;
  --acp-wash: #172a27;
  --acp-ink: #e4eeeb;
  --acp-muted: #a3b5b1;
  --acp-teal: #5cc3b3;
  --acp-teal-wash: #173a35;
  --acp-plum: #ee8fba;
  --acp-line: #2b413d;
  --acp-control: #6f8e89;
  --acp-on-teal: #0e1a18;
}
@media (prefers-reduced-motion: reduce) {
  .agile-ceremony-persona *,
  .agile-ceremony-persona *::before,
  .agile-ceremony-persona *::after { transition: none !important; animation: none !important; }
}

.agile-ceremony-persona button { font: inherit; color: inherit; }
.agile-ceremony-persona :focus-visible { outline: 3px solid var(--acp-plum); outline-offset: 2px; }
.agile-ceremony-persona .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.agile-ceremony-persona .muted { color: var(--acp-muted); }
.agile-ceremony-persona .ribbon-wrap { margin: 22px 0 0; }
.agile-ceremony-persona .ribbon { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; padding: 8px 0; }
.agile-ceremony-persona .block { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.agile-ceremony-persona .cell { height: 10px; background: var(--acp-line); border-radius: 1px; }
.agile-ceremony-persona .cell.done { background: var(--acp-teal); }
.agile-ceremony-persona .cell.skipped { background: repeating-linear-gradient(135deg, var(--acp-control) 0 1.5px, var(--acp-paper) 1.5px 4px); box-shadow: inset 0 0 0 1px var(--acp-control); }
.agile-ceremony-persona .now { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; margin-left: -1.5px; background: var(--acp-plum); border-radius: 2px; transition: left .28s cubic-bezier(.3, .7, .3, 1); }
.agile-ceremony-persona .stops { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; text-align: center; font-size: 18px; line-height: 1.2; }
.agile-ceremony-persona .stops span { opacity: .38; transition: opacity .2s; }
.agile-ceremony-persona .stops span.active { opacity: 1; }
.agile-ceremony-persona .intro h1 { font-size: 34px; line-height: 1.12; font-weight: 600; letter-spacing: -0.02em; margin: 26px 0 12px; text-wrap: balance; }
.agile-ceremony-persona .lede { font-size: 18px; margin: 0 0 6px; }
.agile-ceremony-persona .framing { margin: 0 0 26px; }
.agile-ceremony-persona .preview { margin: 0 0 28px; }
.agile-ceremony-persona .preview h2 { font-size: 15px; font-weight: 600; margin: 0 0 2px; }
.agile-ceremony-persona .preview dl { margin: 0; border-top: 1px solid var(--acp-line); }
.agile-ceremony-persona .preview .row { padding: 10px 0; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .preview dt { font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .preview dd { margin: 0; font-weight: 500; }
.agile-ceremony-persona .primary { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 32px; border: 0; border-radius: 6px; background: var(--acp-teal); color: var(--acp-on-teal); font-size: 17px; font-weight: 600; cursor: pointer; }
.agile-ceremony-persona .secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 1px solid var(--acp-teal); border-radius: 6px; background: transparent; color: var(--acp-teal); font-weight: 600; cursor: pointer; }
.agile-ceremony-persona .privacy { display: flex; gap: 8px; margin: 18px 0 0; font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .chapter { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 18px 0 2px; }
.agile-ceremony-persona .chapter h2 { margin: 0; font-size: 17px; font-weight: 600; }
.agile-ceremony-persona .count { margin: 0; font-size: 14px; color: var(--acp-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.agile-ceremony-persona .scene { margin: 0 0 22px; font-size: 15px; color: var(--acp-muted); }
.agile-ceremony-persona .statement { margin: 0 0 22px; min-height: 3.9em; font-size: 24px; line-height: 1.3; font-weight: 500; letter-spacing: -0.01em; text-wrap: pretty; }
.agile-ceremony-persona .statement:focus { outline: none; }
.agile-ceremony-persona .question { margin: 0 0 10px; font-size: 15px; font-weight: 600; }
.agile-ceremony-persona .answers { display: grid; gap: 8px; }
.agile-ceremony-persona .answer { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px 14px; text-align: left; background: var(--acp-paper); border: 1px solid var(--acp-control); border-radius: 8px; font-size: 16px; font-weight: 500; cursor: pointer; }
.agile-ceremony-persona .answer .emoji { width: 28px; font-size: 22px; line-height: 1; text-align: center; }
.agile-ceremony-persona .answer .label { flex: 1; }
.agile-ceremony-persona .answer kbd { display: none; font: inherit; font-size: 13px; color: var(--acp-muted); border: 1px solid var(--acp-line); border-radius: 4px; padding: 0 6px; }
.agile-ceremony-persona .answer[aria-pressed="true"] { background: var(--acp-teal-wash); border-color: var(--acp-teal); box-shadow: inset 0 0 0 1px var(--acp-teal); }
.agile-ceremony-persona .nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; }
.agile-ceremony-persona .link { min-height: 44px; padding: 0 2px; border: 0; background: transparent; cursor: pointer; color: var(--acp-teal); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.agile-ceremony-persona .link:disabled { color: var(--acp-muted); opacity: .5; cursor: default; text-decoration: none; }
.agile-ceremony-persona .hint { display: none; margin: 10px 0 0; font-size: 14px; color: var(--acp-muted); }
@media (hover: hover) {
  .agile-ceremony-persona .answer:hover { border-color: var(--acp-teal); }
}
@media (hover: hover) and (pointer: fine) {
  .agile-ceremony-persona .answer kbd { display: inline-block; }
  .agile-ceremony-persona .hint { display: block; }
}
@container (min-width: 480px) {
  .agile-ceremony-persona .statement { font-size: 28px; }
  .agile-ceremony-persona .answers { grid-template-columns: repeat(5, 1fr); }
  .agile-ceremony-persona .answer { flex-direction: column; justify-content: flex-start; gap: 8px; min-height: 124px; padding: 14px 8px; text-align: center; }
  .agile-ceremony-persona .answer .emoji { width: auto; font-size: 26px; }
  .agile-ceremony-persona .answer .label { flex: 0 1 auto; font-size: 15px; line-height: 1.25; }
  .agile-ceremony-persona .answer kbd { margin-top: auto; }
}
.agile-ceremony-persona .result-title { margin: 26px 0 4px; font-size: 17px; font-weight: 600; color: var(--acp-muted); }
.agile-ceremony-persona .result-title:focus { outline: none; }
.agile-ceremony-persona .persona { margin: 0 0 6px; font-size: 34px; line-height: 1.14; font-weight: 600; letter-spacing: -0.02em; text-wrap: balance; }
.agile-ceremony-persona .persona .x { color: var(--acp-plum); font-weight: 500; }
.agile-ceremony-persona .headline-hint { margin: 0 0 18px; color: var(--acp-muted); }
.agile-ceremony-persona .quality { margin: 14px 0 18px; padding: 12px 14px; border: 1px solid var(--acp-plum); border-radius: 8px; }
.agile-ceremony-persona .quality p { margin: 0; }
.agile-ceremony-persona .quality ul { margin: 8px 0 0; padding-left: 20px; font-size: 15px; color: var(--acp-muted); }
.agile-ceremony-persona .poles { border-top: 1px solid var(--acp-line); }
.agile-ceremony-persona .pole { padding: 14px 0; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .pole h2 { margin: 0 0 4px; font-size: 18px; font-weight: 600; }
.agile-ceremony-persona .pole p { margin: 0 0 6px; }
.agile-ceremony-persona .aka { font-size: 15px; color: var(--acp-muted); }
.agile-ceremony-persona .section-title { margin: 38px 0 2px; font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
.agile-ceremony-persona .scale { padding: 16px 0 12px; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .scale-head { display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 12px; }
.agile-ceremony-persona .scale-name { margin: 0; font-size: 16px; font-weight: 600; }
.agile-ceremony-persona .scale-band { margin: 0; font-weight: 600; color: var(--acp-teal); text-align: right; }
.agile-ceremony-persona .scale-q { grid-column: 1 / -1; margin: 2px 0 0; font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .track { position: relative; height: 10px; margin: 18px 0 8px; background: var(--acp-wash); border-radius: 2px; }
.agile-ceremony-persona .tick { position: absolute; top: -3px; bottom: -3px; width: 1px; background: var(--acp-control); }
.agile-ceremony-persona .marker { position: absolute; top: -8px; bottom: -8px; width: 4px; margin-left: -2px; background: var(--acp-plum); border-radius: 2px; }
.agile-ceremony-persona .ends { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .ends span:last-child { text-align: right; }
.agile-ceremony-persona .unscored { margin: 8px 0 0; color: var(--acp-muted); }
.agile-ceremony-persona details { margin-top: 8px; }
.agile-ceremony-persona summary { padding: 6px 0; font-size: 15px; font-weight: 600; color: var(--acp-teal); cursor: pointer; }
.agile-ceremony-persona details .tagline { margin: 6px 0 10px; }
.agile-ceremony-persona details dl { margin: 0; display: grid; gap: 10px; }
.agile-ceremony-persona details dt { font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona details dd { margin: 0; }
.agile-ceremony-persona details .score { margin: 10px 0 4px; font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .actions { margin-top: 24px; }
.agile-ceremony-persona .team { margin-top: 48px; padding-top: 6px; border-top: 3px solid var(--acp-ink); }
.agile-ceremony-persona .team .note { margin: 4px 0 0; color: var(--acp-muted); }
.agile-ceremony-persona .team h3 { margin: 22px 0 4px; font-size: 17px; font-weight: 600; }
.agile-ceremony-persona .comp { padding: 12px 0; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .comp-name { margin: 0 0 8px; font-size: 15px; font-weight: 600; }
.agile-ceremony-persona .stack { display: flex; gap: 3px; height: 28px; }
.agile-ceremony-persona .stack span { display: flex; align-items: center; justify-content: center; min-width: 0; border-radius: 3px; font-size: 15px; }
.agile-ceremony-persona .stack .low { border: 1px solid var(--acp-control); }
.agile-ceremony-persona .stack .mid { background: var(--acp-teal-wash); border: 1px solid var(--acp-teal); }
.agile-ceremony-persona .stack .high { background: var(--acp-teal); }
.agile-ceremony-persona .legend { display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--acp-muted); }
.agile-ceremony-persona .legend li { white-space: nowrap; }
.agile-ceremony-persona .tips { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--acp-line); }
.agile-ceremony-persona .tips li { padding: 12px 0; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .tips b { display: block; margin-bottom: 2px; font-weight: 600; }

/* ---------- Agile Ceremony Persona inside Coretime ----------
   The component's stylesheet (packages/persona-assessment/react/agile-ceremony-persona.css) is
   bundled unchanged, before this file. Two things are settled here:
   1. Its --acp-* tokens follow Coretime's tokens (06; the brand: README §Decisions 139), so light, dark and the contrast checks
      come from one place. The selector outranks the component's own light and dark blocks.
   2. Coretime's global classes that share a name with the component's (.nav, .stack, .row,
      .note, .now, .track, .answers) must not leak into it. */
html:root .agile-ceremony-persona.agile-ceremony-persona {
  --acp-paper: var(--surface);
  --acp-wash: var(--sunk);
  --acp-ink: var(--ink);
  --acp-muted: var(--ink-soft);
  --acp-teal: var(--primary);
  --acp-teal-wash: var(--primary-soft);
  --acp-plum: var(--attention);
  --acp-line: var(--rule);
  /* Answer borders and ticks are controls: 3:1 against the surface in both themes. */
  --acp-control: var(--ink-faint);
  --acp-on-teal: var(--surface);
  --acp-font: var(--font-text);
}
.agile-ceremony-persona .nav { flex-direction: row; }
.agile-ceremony-persona .stack { flex-direction: row; }
.agile-ceremony-persona .preview .row { display: block; }
.agile-ceremony-persona .note { background: none; border: 0; border-radius: 0; padding: 0; font-size: inherit; }
.agile-ceremony-persona .now::before,
.agile-ceremony-persona .track::before { content: none; }
.agile-ceremony-persona .answers { font-size: inherit; }
/* Glyphs on the filled "high" segment: devices without colour emoji draw them in the text colour. */
.agile-ceremony-persona .stack .high { color: var(--acp-on-teal); }

/* Coretime's own parts around and inside the component. */
.persona-host { max-width: 760px; }
.agile-ceremony-persona .share-rounds { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--acp-line); }
.agile-ceremony-persona .share-rounds li { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--acp-line); }
.agile-ceremony-persona .share-team { margin: 0; font-weight: 600; }
.agile-ceremony-persona .share-rounds p { margin: 0; }
.agile-ceremony-persona .share-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.agile-ceremony-persona .share-none { margin: 28px 0 0; }
.persona-team .agile-ceremony-persona .team { margin-top: var(--s4); }
.persona-team .open-round { display: flex; flex-direction: column; gap: var(--s3); }
.persona-earlier { margin-top: var(--s4); }
.persona-earlier > summary { cursor: pointer; font-size: var(--t-sm); font-weight: 600; color: var(--primary-ink); }
