/* RimaginAItion — TERA-LENS / pTERA canvas (2026-10-12). Loaded after page.css,
   only by public/frameworks/_canvas.html. Phase colours are the thread accents
   (T orange, E teal, R claret, A moss) — the same as on the Frameworks page. */

.cv-hero{padding-bottom:30px;}
.cv-hero__lead{margin-top:14px;max-width:720px;font-size:16.5px;opacity:.95;}
.cv-hero__links{margin-top:8px;font-size:14px;}
.cv-hero__links a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);}
.cv-hero__links a:hover{border-bottom-color:var(--orange);}

/* Toolbar + phase strip: sticky under the 60px site menu. */
.cv-bar{position:sticky;top:60px;z-index:15;background:#fff;border-bottom:1px solid var(--border);
  box-shadow:0 4px 14px rgba(28,32,36,.06);}
.cv-bar__inner{max-width:1080px;margin:0 auto;padding:10px 24px 6px;display:flex;flex-wrap:wrap;
  align-items:center;gap:8px;}
.cv-bar__sp{flex:1 1 auto;}
.cv-cycle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--muted);}
.cv-cycle select{font:600 14px var(--font);color:var(--text);max-width:260px;padding:7px 10px;
  border:1px solid var(--border);border-radius:8px;background:#fff;}
.cv-btn{font:600 13.5px var(--font);color:var(--blue);background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:7px 12px;cursor:pointer;transition:border-color .15s,background .15s;}
.cv-btn:hover{border-color:var(--blue-light);background:#f7f8fb;}
.cv-btn--primary{background:var(--blue);border-color:var(--blue);color:#fff;}
.cv-btn--primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);}
.cv-btn--quiet{color:var(--muted);}
.cv-btn.armed{color:#fff;background:var(--claret);border-color:var(--claret);}
.cv-view{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.cv-view button{font:600 13px var(--font);border:none;background:#fff;color:var(--muted);padding:7px 12px;cursor:pointer;}
.cv-view button.on{background:var(--blue);color:#fff;}
.cv-phases{max-width:1080px;margin:0 auto;padding:4px 24px 10px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;}
.cv-ph{flex:0 0 auto;display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--text);
  font-size:13px;font-weight:600;padding:5px 10px 5px 5px;border-radius:20px;border:1px solid var(--border);background:var(--bg);}
.cv-ph:hover{border-color:var(--blue-light);}
.cv-ph b{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12.5px;background:var(--blue);}
.cv-ph--t b{background:var(--orange);} .cv-ph--e b{background:var(--teal);}
.cv-ph--r b{background:var(--claret);} .cv-ph--a b{background:var(--moss);}
/* A small progress ring per phase. */
.cv-ph i{width:14px;height:14px;border-radius:50%;
  background:conic-gradient(var(--blue) var(--p,0%),var(--border) 0);
  -webkit-mask:radial-gradient(circle,transparent 3px,#000 3.5px);mask:radial-gradient(circle,transparent 3px,#000 3.5px);}
@media (max-width:640px){
  .cv-bar{position:static;}            /* a sticky two-row bar would eat a phone screen */
  .cv-bar__inner{padding:10px 16px 6px;}
  .cv-phases{padding:4px 16px 10px;}
  .cv-bar__sp{display:none;}
  .cv-cycle{width:100%;} .cv-cycle select{flex:1;max-width:none;}
}

/* Body */
.cv-body{max-width:1080px;margin:0 auto;padding:18px 24px 40px;}
.cv-status{font-size:13px;color:var(--moss);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.cv-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--moss);flex:0 0 8px;}
.cv-status.warn{color:var(--claret);} .cv-status.warn::before{background:var(--claret);}
.cv-status a{color:var(--orange);font-weight:600;}
.cv-sec{background:#fff;border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:12px;
  padding:20px 22px 8px;margin:0 0 18px;scroll-margin-top:150px;}
.cv-sec--t{border-left-color:var(--orange);} .cv-sec--e{border-left-color:var(--teal);}
.cv-sec--r{border-left-color:var(--claret);} .cv-sec--a{border-left-color:var(--moss);}
.cv-sec__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;}
.cv-sec__letter{flex:0 0 40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:19px;background:var(--blue);}
.cv-sec--t .cv-sec__letter{background:var(--orange);} .cv-sec--e .cv-sec__letter{background:var(--teal);}
.cv-sec--r .cv-sec__letter{background:var(--claret);} .cv-sec--a .cv-sec__letter{background:var(--moss);}
.cv-sec__head > div{flex:1 1 auto;}
.cv-sec h2{color:var(--blue);font-size:20px;margin:2px 0 2px;}
.cv-sec__intro{color:var(--muted);font-size:14px;line-height:1.5;margin:0;max-width:720px;}
.cv-sec__count{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--muted);background:var(--bg);
  border-radius:12px;padding:3px 9px;white-space:nowrap;}
.cv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;}
.cv-field{margin:0 0 12px;min-width:0;}
.cv-area,.cv-radio,.cv-checks{grid-column:1 / -1;}
@media (max-width:640px){
  .cv-grid{grid-template-columns:1fr;}
  .cv-sec{padding:16px 14px 6px;}
  .cv-sec__count{display:none;}
}
.cv-label{display:block;font-size:13.5px;font-weight:700;color:var(--blue-dark);margin:0 0 5px;}
fieldset.cv-field{border:none;padding:0;}
fieldset.cv-field legend{padding:0;}
.cv-in{width:100%;font:15px/1.5 var(--font);color:var(--text);background:#fbfbfd;border:1px solid var(--border);
  border-radius:8px;padding:9px 11px;transition:border-color .15s,box-shadow .15s,background .15s;}
textarea.cv-in{resize:vertical;min-height:64px;}
.cv-in:focus{outline:none;border-color:var(--blue-light);background:#fff;box-shadow:0 0 0 3px rgba(70,88,133,.14);}
.cv-in::placeholder{color:#9aa1ab;font-style:italic;}
/* Quick view hides the non-essential fields — their values are kept. */
.cv-view--quick .cv-field:not(.cv-q){display:none;}

/* Choice cards: LENS (4), CLEAR (5), decisions (3) */
.cv-opts{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.cv-opt{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;
  padding:9px 11px;cursor:pointer;background:#fbfbfd;font-size:14px;line-height:1.3;transition:border-color .15s,background .15s;}
.cv-opt:hover{border-color:var(--blue-light);}
.cv-opt input{position:absolute;opacity:0;pointer-events:none;}
.cv-opt__letter{flex:0 0 30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--blue);background:#eef1f7;}
.cv-opt__l{display:block;font-weight:600;}
.cv-opt__h{display:block;font-size:12px;color:var(--muted);}
.cv-opt:has(input:checked){border-color:var(--blue);background:#eef1f7;box-shadow:inset 0 0 0 1px var(--blue);}
.cv-opt:has(input:checked) .cv-opt__letter{background:var(--blue);color:#fff;}
.cv-opt:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px;}

/* Capabilities */
.cv-caps{display:grid;gap:6px;}
.cv-cap{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:8px 11px;
  cursor:pointer;background:#fbfbfd;font-size:14px;line-height:1.35;}
.cv-cap input{flex:0 0 auto;width:17px;height:17px;accent-color:var(--blue);}
.cv-cap__n{flex:0 0 14px;font-weight:700;color:var(--orange);}
.cv-cap__l{flex:1 1 auto;}
.cv-cap__fit{display:none;margin-left:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--teal);white-space:nowrap;}
.cv-cap.fit{border-color:#a9c7cf;background:#f1f7f8;}
.cv-cap.fit .cv-cap__fit{display:inline;}
.cv-cap__tags{flex:0 0 auto;display:flex;gap:3px;}
.cv-cap__tags i{font-style:normal;font-size:11px;font-weight:700;color:var(--blue);background:#eef1f7;border-radius:4px;padding:1px 6px;}
.cv-cap:has(input:checked){border-color:var(--blue);}
@media (max-width:640px){.cv-cap__tags{display:none;}}

.cv-credit{color:var(--muted);font-size:12.5px;text-align:center;margin:20px 0 0;}
.cv-pv,.cv-printhead{display:none;}

/* ── Print / Save as PDF ────────────────────────────────────────────────── */
@media print{
  @page{size:A4;margin:14mm 14mm 16mm;}
  body{background:#fff;display:block;}
  body > :not(main){display:none !important;}
  .cv-hero,.cv-bar,.cv-status,.rim-updated{display:none !important;}
  .cv-body{padding:0;max-width:none;}
  .cv-printhead{display:flex;flex-direction:column;gap:2px;border-bottom:2px solid var(--blue);padding-bottom:8px;margin-bottom:12px;}
  .cv-printhead strong{color:var(--blue);font-size:11pt;text-transform:uppercase;letter-spacing:.06em;}
  .cv-printhead [data-ph="title"]{font-size:17pt;font-weight:700;color:var(--text);}
  .cv-printhead [data-ph="meta"]{font-size:9.5pt;color:var(--muted);}
  .cv-sec{break-inside:auto;border-radius:0;border:none;border-left:4pt solid var(--blue);padding:4pt 0 2pt 10pt;margin:0 0 12pt;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cv-sec--t{border-left-color:var(--orange);} .cv-sec--e{border-left-color:var(--teal);}
  .cv-sec--r{border-left-color:var(--claret);} .cv-sec--a{border-left-color:var(--moss);}
  .cv-sec__head{break-after:avoid;margin-bottom:6pt;}
  .cv-sec__letter{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:26pt;height:26pt;flex-basis:26pt;font-size:13pt;}
  .cv-sec h2{font-size:14pt;}
  .cv-sec__intro{font-size:9pt;}
  .cv-sec__count{display:none;}
  .cv-grid{display:block;}
  .cv-field{break-inside:avoid;margin:0 0 7pt;}
  .cv-label{font-size:9.5pt;margin-bottom:2pt;}
  .cv-in,.cv-opts,.cv-caps{display:none !important;}
  .cv-pv{display:block;white-space:pre-wrap;font-size:10pt;line-height:1.45;color:var(--text);}
  /* An empty field prints as ruled space to write in by hand. */
  .cv-pv.is-empty{min-height:34pt;background:repeating-linear-gradient(transparent 0 16pt,#c9ced6 16pt 16.6pt);
    -webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cv-text .cv-pv.is-empty,.cv-date .cv-pv.is-empty{min-height:17pt;}
  .cv-credit{font-size:8.5pt;margin-top:10pt;}
  a{color:inherit;text-decoration:none;}
}
