/* Command seat pages: /software/command/practice/ and /portfolio/.

   One sheet for both. The two prototypes shipped ~101 byte-identical CSS lines
   each; portfolio's block is a strict superset, adding only .rs-g.b, .rpt,
   .bcx and .am. Porting them separately would guarantee the two drift.

   These components belong in pylon-mockups.css eventually -- the handoff says
   so -- but they are seat-page-only today. */
.stmt{grid-column:1/11;font-size:clamp(1.5rem,3.1vw,2.5rem);font-weight:500;letter-spacing:-.04em;line-height:1.14;color:var(--fade);text-wrap:pretty}
.stmt b{color:var(--t1);font-weight:500}
@media(max-width:1024px){.stmt{grid-column:1/-1}}
/* client book */
.bk-hd,.bk-r{grid-template-columns:minmax(0,1fr) 4.4em 3.4em 5em 5.8em}
.bk-r{display:grid;align-items:center;gap:1em;padding:.62em 0;border-bottom:1px solid var(--rule-3);flex:1;min-height:0}
.bk-n{display:flex;align-items:center;gap:.7em;min-width:0}
.bk-n b{display:block;font-size:1.04em;font-weight:500;letter-spacing:-.015em;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-n i{display:block;font-style:normal;font-family:var(--mono);font-size:.76em;color:var(--t4);margin-top:.22em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-m{font-family:var(--mono);font-size:.95em;color:var(--t1);text-align:right}
.bk-t{font-family:var(--mono);font-size:.84em;text-align:right}
.bk-t.u{color:#4fc98a}.bk-t.d{color:#ff7a6b}
.bk-c{font-family:var(--mono);font-size:.84em;color:var(--t3);text-align:right}
.bk-l{flex:1;min-height:0;display:flex;flex-direction:column}
/* risk story */
.rs{display:flex;flex-direction:column;gap:.75em;flex:1;min-height:0}
.rs-c{border:1px solid var(--rule-2);background:linear-gradient(180deg,#17171e,#101014);box-shadow:inset 0 1px 0 rgba(255,255,255,.055);padding:.95em;display:flex;flex-direction:column;gap:.6em;flex:1;min-height:0}
.rs-h{display:flex;align-items:center;gap:.8em}
.rs-h b{font-size:1.15em;font-weight:500;letter-spacing:-.025em;color:var(--t1);white-space:nowrap}
.rs-h em{font-style:normal;font-family:var(--mono);font-size:.82em;color:var(--t4)}
.rs-g{margin-left:auto;display:flex;align-items:baseline;gap:.45em}
.rs-g u{text-decoration:none;font-family:var(--mono);font-size:.66em;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.rs-g b{text-decoration:none;font-family:var(--mono);font-size:1.65em;font-weight:500;line-height:1}
.rs-g.c b{color:#e2a84f}
.rs-g.d b{color:#ff7a6b}
.rs-c p{font-size:.94em;line-height:1.6;color:var(--t3);margin:0}
.rs-a{display:flex;gap:1.4em;margin-top:auto;padding-top:.7em;border-top:1px solid var(--rule-3)}
.rs-a span{font-family:var(--mono);font-size:.76em;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-txt)}
/* coverage matrix */
.cov-hd,.cov-r{grid-template-columns:minmax(0,1fr) repeat(4,3.4em)}
.cov-r{display:grid;align-items:center;gap:.7em;padding:.5em 0;border-bottom:1px solid var(--rule-3);flex:1;min-height:0}
.cov-n{display:flex;align-items:center;gap:.5em;min-width:0}
.cov-n span{color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cov-n .av{width:1.4em;height:1.4em;font-size:.64em}
.cov-v{font-family:var(--mono);font-size:.9em;text-align:center;padding:.3em 0;color:var(--t3)}
.cov-v.hi{color:#4fc98a;background:rgba(62,201,138,.12)}
.cov-v.md{color:#e2a84f;background:rgba(217,154,43,.12)}
.cov-v.lo{color:#ff7a6b;background:rgba(226,86,74,.13)}
/* movers */
.mv-l{font-family:var(--mono);font-size:.74em;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);display:flex;align-items:center;gap:.55em;margin-top:.4em}
.mv-l i{width:.45em;height:.45em;border-radius:50%;background:currentColor}
.mv-l.u{color:#4fc98a}.mv-l.d{color:#ff7a6b}
.mv-r{display:grid;grid-template-columns:minmax(0,1fr) 5.2em 3em;align-items:center;gap:.8em;padding:.5em 0;border-bottom:1px solid var(--rule-3)}
.mv-r b{font-weight:400;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv-r em{font-style:normal;font-family:var(--mono);font-size:.84em;color:var(--t4);text-align:right}
.mv-r u{text-decoration:none;font-family:var(--mono);font-size:.88em;text-align:right}
.mv-r u.u{color:#4fc98a}.mv-r u.d{color:#ff7a6b}
/* action queue */
.aq-r{display:grid;grid-template-columns:2em minmax(0,1fr) 3em;align-items:center;gap:.8em;padding:.55em 0;border-bottom:1px solid var(--rule-3);flex:1;min-height:0}
.aq-r b{display:block;font-weight:400;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aq-r i{display:block;font-style:normal;font-family:var(--mono);font-size:.76em;color:var(--t4);margin-top:.2em}
/* attack surface */
.as-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6em;flex:none}
.as-g div{border:1px solid var(--rule-2);padding:.55em;text-align:center}
.as-g u{display:block;text-decoration:none;font-family:var(--mono);font-size:.68em;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:.35em}
.as-g b{font-family:var(--mono);font-size:1.05em;color:#4fc98a}
.as-g b.m{color:#e2a84f}
.as-ok{margin-top:.9em;flex:none;border:1px solid var(--rule-2);background:rgba(62,201,138,.06);padding:.62em .7em}
.as-f{display:flex;gap:1.4em;margin-top:auto;padding-top:.8em;border-top:1px solid var(--rule-2);font-family:var(--mono);font-size:.76em;letter-spacing:.1em;text-transform:uppercase;color:var(--t4)}
.as-f b{color:var(--t2);font-weight:500}
/* assessment writes itself */
.aw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;gap:0}
.aw-l{padding:1.15em;border-right:1px solid var(--rule-2);display:flex;flex-direction:column;gap:.6em;min-width:0}
.aw-r{padding:1.15em;display:flex;flex-direction:column;gap:.55em;min-width:0;background:rgba(255,255,255,.015)}
.aw-rec{display:flex;align-items:center;gap:.7em;font-family:var(--mono);font-size:.74em;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);flex:none;padding:.55em .7em;border:1px solid rgba(226,86,74,.3);background:rgba(226,86,74,.07)}
.aw-rec .rec{margin-left:auto;display:inline-flex;align-items:center;gap:.4em;color:#ff7a6b}
.aw-rec .rec i{width:.45em;height:.45em;border-radius:50%;background:currentColor;animation:blink 1.4s ease-in-out infinite}
.wave{display:inline-flex;align-items:center;gap:.16em;height:1.15em;flex:none}
.wave i{width:.16em;background:#ff7a6b;height:32%;align-self:center;animation:wv 1.05s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.09s}
.wave i:nth-child(3){animation-delay:.19s}
.wave i:nth-child(4){animation-delay:.28s}
.wave i:nth-child(5){animation-delay:.37s}
.wave i:nth-child(6){animation-delay:.46s}
.wave i:nth-child(7){animation-delay:.55s}
@keyframes wv{0%,100%{height:28%}50%{height:100%}}
.caret{display:inline-block;width:.45em;height:.95em;background:var(--acc);vertical-align:text-bottom;margin-left:.15em;animation:blink 1s step-end infinite}
.aw-note{margin-top:auto;padding-top:.8em;border-top:1px solid var(--rule-2);font-family:var(--mono);font-size:.72em;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);flex:none}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.bub{border-left:2px solid var(--rule);padding:.15em 0 .15em .8em}
.bub.c{border-left-color:var(--acc)}
.bub u{display:block;text-decoration:none;font-family:var(--mono);font-size:.7em;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:.25em}
.bub p{margin:0;font-size:.94em;line-height:1.5;color:var(--t2)}
.aw-q{border-left:2px solid var(--violet);padding:.4em 0 .4em .8em;font-size:.94em;line-height:1.5;color:var(--t2);flex:none}
.aw-s{display:grid;grid-template-columns:1fr 1fr;gap:.7em;flex:none}
.aw-s div{border:1px solid var(--rule-2);padding:.55em}
.aw-s u{display:block;text-decoration:none;font-family:var(--mono);font-size:.66em;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:.35em}
.aw-btn{display:flex;gap:.6em;margin-top:auto;flex:none}
.aw-btn span{font-family:var(--mono);font-size:.72em;letter-spacing:.12em;text-transform:uppercase;padding:.45em .8em;border:1px solid var(--rule-2);color:var(--t3)}
.aw-btn span.p{background:var(--t1);border-color:var(--t1);color:#0a0a0c}
@container (max-width:540px){.aw{grid-template-columns:1fr}.aw-r{display:none}.aw-l{border-right:0}.bk-hd,.bk-r{grid-template-columns:minmax(0,1fr) 3em 3.2em}.bk-r .bk-c,.bk-r .pill,.bk-hd .h4,.bk-hd .h5{display:none}.cov-hd,.cov-r{grid-template-columns:minmax(0,1fr) repeat(2,3em)}.cov-r span:nth-child(4),.cov-r span:nth-child(5),.cov-hd span:nth-child(4),.cov-hd span:nth-child(5){display:none}}
/* seats cross-link */
.alt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut);margin-top:clamp(3rem,5vw,4.5rem);border-top:1px solid var(--rule)}
@media(max-width:768px){.alt{grid-template-columns:1fr}}
.alt a{display:flex;flex-direction:column;gap:.625rem;padding-top:1.5rem;border-top:1px solid transparent;margin-top:-1px;transition:border-color .4s var(--e)}
.alt a:hover{border-top-color:var(--acc)}
.alt .lbl{color:var(--t4)}
.alt h3{font-size:1.25rem;font-weight:500;letter-spacing:-.03em;color:var(--t1)}
.alt p{font-size:.875rem;line-height:1.6;color:var(--t3);max-width:40ch}
.alt .lnk{align-self:flex-start;margin-top:.75rem}
.rs-g.b b{color:#5fcf9e}
/* report tiles */
.rpt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em}
.rpt div{border:1px solid var(--rule-2);background:#101014;padding:.75em;display:flex;flex-direction:column;gap:.35em;min-width:0}
.rpt div.on{border-color:rgba(99,102,241,.55);background:rgba(99,102,241,.08)}
.rpt b{font-weight:500;color:var(--t1);font-size:.98em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpt i{font-style:normal;font-size:.86em;line-height:1.45;color:var(--t4)}
.rpt em{font-style:normal;font-family:var(--mono);font-size:.66em;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-txt);margin-top:auto;padding-top:.3em}
/* broadcast */
.bcx{display:flex;flex-direction:column;gap:.65em;flex:1;min-height:0}
.bcx-h{display:flex;flex-direction:column;align-items:flex-start;gap:.55em}
.bcx-h b{font-size:1.05em;font-weight:500;letter-spacing:-.025em;color:var(--t1);line-height:1.25}
.bcx-b{font-size:.94em;line-height:1.6;color:var(--t3)}
.bcx-to{display:flex;flex-wrap:wrap;gap:.4em}
.bcx-to span{font-family:var(--mono);font-size:.74em;letter-spacing:.1em;color:var(--t3);border:1px solid var(--rule-2);padding:.28em .5em}
.bcx-to span.m{color:var(--t4)}
.bcx-f{display:flex;justify-content:space-between;gap:1em;margin-top:auto;padding-top:.75em;border-top:1px solid var(--rule-3);font-family:var(--mono);font-size:.74em;letter-spacing:.1em;text-transform:uppercase;color:var(--t4)}
.bcx-f b{color:#5fcf9e;font-weight:500}
/* access model */
.am{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:var(--gut);margin-top:clamp(3rem,5vw,4.5rem)}
@media(max-width:900px){.am{grid-template-columns:1fr;gap:1.5rem}.am-x{flex-direction:row;padding:0}.am-x svg{transform:rotate(90deg);width:14px;height:44px}}
.am-c{border:1px solid var(--rule-2);background:linear-gradient(160deg,var(--ink-2),var(--ink));padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:.75rem}
.am-c.firm{border-color:rgba(99,102,241,.32)}
.am-c .lbl{color:var(--t4)}
.am-c h3{font-size:1.25rem;font-weight:500;letter-spacing:-.03em;color:var(--t1)}
.am-c p{font-size:.9375rem;line-height:1.6;color:var(--t3)}
.am-p{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--rule-3);font-family:var(--mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase}
.am-p.rw{color:#5fcf9e}
.am-p.ro{color:var(--acc-txt)}
.am-x{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:0 .5rem}
.am-x span{font-family:var(--mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--t4)}
.am-x svg{width:44px;height:14px;color:var(--acc);flex:none}
