/* VAVEhub VE Academy — capstone workbook (capstone.html) */
.cap-page{max-width:1080px;margin:0 auto;padding:6.2rem 1.2rem 3rem}
.cap-page:focus{outline:none}
.cap-hero{max-width:780px;margin-bottom:1.4rem}
.cap-kicker{font:700 .7rem var(--font-m);letter-spacing:.16em;text-transform:uppercase;color:var(--acc1);margin:0 0 .5rem}
.cap-hero h1{font:800 clamp(1.6rem,3.4vw,2.3rem)/1.15 var(--font-d);margin:0 0 .8rem}
.cap-lede{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 .6rem}
.cap-save{font-size:.78rem;color:var(--muted);margin:0}
.cap-steps{position:sticky;top:64px;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);padding:.6rem 0;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.cap-steps ol{list-style:none;margin:0;padding:0;display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (min-width:900px){.cap-steps ol{flex-wrap:wrap;overflow:visible}} /* all seven steps visible on a laptop */
.cap-steps button{display:flex;align-items:center;gap:.45rem;white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:99px;padding:.45rem .85rem .45rem .45rem;min-height:40px;font:600 .8rem var(--font-b);cursor:pointer}
.cap-steps button span{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font:700 .72rem var(--font-m)}
.cap-steps button.is-on{color:var(--txt);border-color:var(--acc1)}
.cap-steps button.is-on span{background:var(--acc1);border-color:var(--acc1);color:#fff}
.cap-steps button.is-done span{border-color:#34d399;color:var(--txt)}
#capMount:focus{outline:none}
#capMount{min-height:70vh} /* the footer doesn't jump when the phase is drawn */
.cap-phase h2{font:800 1.5rem var(--font-d);margin:0 0 1rem}
.cap-phase h2:focus{outline:none}
.cap-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1.2rem}
.cap-facts,.cap-work,.cap-gate{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:1.1rem 1.2rem}
.cap-phase h3{font:700 .7rem var(--font-m);letter-spacing:.14em;text-transform:uppercase;color:var(--acc3);margin:0 0 .7rem}
.cap-facts p,.cap-work p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0 0 .7rem}
.cap-facts p b,.cap-work p b,.cap-list b{color:var(--txt)}
.cap-list{margin:0 0 .7rem 1.1rem;padding:0;font-size:.86rem;line-height:1.6;color:var(--muted);display:grid;gap:.3rem}
.cap-link{font-size:.8rem!important}
.cap-link a{color:var(--acc1);text-decoration:underline;text-underline-offset:2px}
.cap-small{font-size:.76rem!important}
.cap-sub{font:700 .82rem var(--font-d)!important;color:var(--txt)!important;margin:.4rem 0 .4rem!important}
.cap-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.7rem}
.cap-table caption{text-align:left;font-size:.74rem;color:var(--muted);padding-bottom:.35rem}
.cap-table th,.cap-table td{border-bottom:1px solid var(--line);padding:.38rem .4rem;text-align:left;vertical-align:middle}
.cap-table thead th{font:700 .64rem var(--font-m);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cap-table td:nth-child(n+2),.cap-table th:nth-child(n+2){text-align:right}
.cap-table tfoot th{border-top:2px solid var(--line)}
.cap-table .vi-hot{background:rgba(248,113,113,.14);font-weight:700}
.cap-table .vi-warm{background:rgba(251,191,36,.12)}
.cap-f{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.8rem;color:var(--muted);position:relative}
.cap-f>span{font-weight:600;color:var(--txt)}
.cap-f input,.cap-f textarea,.cap-f select,.cap-fns input,.cap-table input,.cap-table select{width:100%;min-height:40px;padding:.45rem .6rem;border:1px solid var(--line);border-radius:9px;background:var(--bg2);color:var(--txt);font:inherit;font-size:.86rem}
.cap-f textarea{resize:vertical;line-height:1.5}
.cap-f input:focus,.cap-f textarea:focus,.cap-f select:focus,.cap-fns input:focus,.cap-table input:focus,.cap-table select:focus{outline:2px solid var(--acc1);outline-offset:1px;border-color:var(--acc1)}
.cap-f em{position:absolute;left:.6rem;bottom:.62rem;font-style:normal;color:var(--muted);font-size:.86rem;pointer-events:none}
.cap-f em+input{padding-left:1.4rem}
.cap-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 .8rem}
.cap-fns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-bottom:.8rem}
.cap-pick{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.84rem}
.cap-pick legend{font-weight:700;padding:0 .3rem}
.cap-pick label{display:inline-flex;align-items:center;gap:.4rem;min-height:36px}
.cap-count{font-size:.82rem!important}
.cap-score td{text-align:center!important}
.cap-score td:first-child{text-align:left!important;min-width:220px}
.cap-score select{width:auto;min-width:56px}
.cap-pound{display:inline-flex;align-items:center;gap:.2rem}
.cap-pound input{width:80px}
.cap-dec td{text-align:left!important}
.cap-dec input{min-width:110px}
.cap-out{margin-top:.6rem;border-radius:12px;font-size:.84rem}
.cap-out:empty{display:none}
.cap-out p{margin:0 0 .35rem!important;color:var(--txt)!important}
.cap-out.is-note{padding:.7rem .9rem;border:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.07)}
.cap-out.is-ok{padding:.7rem .9rem;border:1px solid rgba(52,211,153,.45);background:rgba(52,211,153,.07)}
.cap-gate{margin-top:1.2rem}
.cap-gate label{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.5;padding:.55rem 0;min-height:44px;cursor:pointer}
.cap-gate input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;margin-top:.1rem;accent-color:var(--acc1)}
.cap-gate input{width:20px;height:20px;margin-top:.1rem;flex:none;accent-color:var(--acc1)}
.cap-gate-msg{font-size:.86rem;font-weight:700;margin:.4rem 0 0}
.cap-gate-msg:empty{display:none}
.cap-worked{margin-top:1rem;border:1px dashed color-mix(in srgb,var(--acc3) 55%,var(--line));border-radius:14px;padding:.8rem 1.1rem;background:color-mix(in srgb,var(--acc3) 5%,transparent)}
.cap-worked summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;list-style:none}
.cap-worked summary::-webkit-details-marker{display:none}
.cap-worked summary::before{content:"▸";margin-right:.5rem;transition:transform .2s}
html[data-theme="light"] .cap-worked{background:#fff8ec}
.cap-worked[open] summary::before{transform:rotate(90deg)}
.cap-worked p,.cap-worked li{font-size:.86rem;line-height:1.65;color:var(--muted)}
.cap-worked p b{color:var(--txt)}
.cap-ideas{margin:.4rem 0 .6rem 1.2rem;display:grid;gap:.2rem}
.cap-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap}
.bc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-top:.6rem}
.cw-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 2fr auto;gap:.6rem;align-items:center;font-size:.78rem;margin:.3rem 0;color:var(--muted)}
.cw-row b{font-family:var(--font-m);color:var(--txt)}
.cw-track{height:14px;border-radius:6px;background:var(--track);overflow:hidden}
.cw-track i{display:block;height:100%;border-radius:6px}
.cw-start{background:color-mix(in srgb,var(--acc1) 70%,transparent)}
.cw-cut{background:rgba(248,113,113,.6)}
.cw-ok{background:rgba(52,211,153,.75)}
.cw-over{background:rgba(251,191,36,.75)}
/* the two-page study */
.cap-report:focus{outline:none}
.rp-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}
.rp-note{font-size:.8rem;color:var(--muted)}
.rp-page{background:#fff;color:#18213a;max-width:210mm;margin:0 auto 1.2rem;padding:14mm 14mm 10mm;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.25);font:13px/1.5 var(--font-b)}
.rp-page h3{font:700 11px/1.2 var(--font-d);letter-spacing:.1em;text-transform:uppercase;color:#1d5fd6;margin:14px 0 5px}
.rp-page p{margin:0 0 6px;color:#2b3550}
.rp-page b{color:#131c30}
.rp-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;border-bottom:3px solid #1d5fd6;padding-bottom:8px;margin-bottom:6px;flex-wrap:wrap}
.rp-head h2{font:800 20px/1.2 var(--font-d);margin:2px 0;color:#131c30}
.rp-head p{font-size:11.5px;color:#4d5c78}
.rp-brand{font:700 12px var(--font-d)!important;color:#131c30!important}
.rp-brand b{color:#1d5fd6}
.rp-nums{display:grid;grid-template-columns:repeat(3,auto);gap:6px 12px}
.rp-nums-4{grid-template-columns:repeat(4,1fr);margin:4px 0 8px}
.rp-nums div{border:1px solid #dfe5f0;border-radius:8px;padding:5px 9px}
.rp-nums b{display:block;font:700 16px var(--font-d);color:#1d5fd6}
.rp-nums span{font-size:10.5px;color:#4d5c78}
.rp-table{width:100%;border-collapse:collapse;font-size:11.5px;margin:2px 0 6px}
.rp-table th,.rp-table td{border-bottom:1px solid #dfe5f0;padding:4px 5px;text-align:left;color:#2b3550}
.rp-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#4d5c78}
.rp-gap{color:#9aa5bd}
.rp-concl{border-left:3px solid #eb6834;padding:6px 10px;background:#faf7f2;margin-top:10px!important}
.rp-foot{margin-top:14px;padding-top:6px;border-top:1px solid #dfe5f0;font-size:10px;color:#4d5c78}
@media screen and (max-width:820px){.cap-grid{grid-template-columns:minmax(0,1fr)}.rp-page{padding:18px}.rp-nums-4{grid-template-columns:repeat(2,1fr)}.cap-page{padding-top:5.2rem}}
@page{size:A4;margin:0}
@media print{
  body{background:#fff!important}
  .tr-nav,.cap-hero,.cap-steps,#capMount,.tr-footer,.rp-bar,.skip-link,#vhToast{display:none!important}
  .cap-page{padding:0;max-width:none}
  .rp-page{box-shadow:none;border-radius:0;margin:0;max-width:none;width:210mm;min-height:297mm;page-break-after:always;break-after:page}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.tr-body #capReport,body.tr-body #capReport *{visibility:visible} /* training.css hides everything but the certificate when printing */
}
