/* Inner bank pages (gate, verify, pilot). Builds on landing.css tokens and components. */
.ph{padding:40px 0 8px;max-width:760px}
.back{display:inline-flex;align-items:center;gap:6px;font:500 14px/1 var(--font);color:var(--tx2);text-decoration:none;margin-bottom:18px}
.back:hover{color:var(--ac3)}
.ph h1{font:600 clamp(2rem,1.4rem + 2.2vw,3.1rem)/1.06 var(--font);letter-spacing:-.03em;margin:0;color:var(--tx)}
.ph p{font-size:18px;line-height:1.55;color:var(--tx2);margin:14px 0 0;max-width:56ch}

/* scenario picker */
.sc-pick{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 20px}
.sc-pick button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--bdr);background:var(--s1);font:500 14px/1 var(--font);color:var(--tx2);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.sc-pick button:hover{border-color:var(--bdr-hover);color:var(--tx)}
.sc-pick button[aria-checked="true"]{background:var(--tx);border-color:var(--tx);color:var(--tx-inverse)}
.sc-pick .i{font-size:17px}

/* gate layout */
.gate-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:'v cols' 'cmp cols';gap:16px;align-items:start}
.vbox{grid-area:v;border-radius:var(--pr);padding:22px;border:1px solid var(--bdr);background:var(--s1)}
.vbox.good{background:var(--ok-soft);border-color:var(--ok-line)}
.vbox.bad{background:var(--crit-soft);border-color:var(--crit-line)}
.v-top{display:flex;align-items:center;gap:10px}
.v-top .i{font-size:30px}
.v-top b{font:600 32px/1 var(--font);letter-spacing:-.02em}
.vbox.good .v-top{color:var(--ok)}.vbox.bad .v-top{color:var(--crit)}
.vbox p{margin:12px 0 0;font:500 16px/1.45 var(--font);color:var(--tx)}
.vbox .v-next{font-weight:400;color:var(--tx2);font-size:15px;margin-top:6px}
.pulse{animation:vpulse .5s var(--ease) 1}
@keyframes vpulse{from{transform:scale(.98);opacity:.6}to{transform:none;opacity:1}}

.cols{grid-area:cols;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gcol{border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:18px;transition:border-color .3s,box-shadow .3s}
.gcol.bad{border-color:var(--crit-line);box-shadow:0 0 0 4px var(--crit-soft)}
.gcol-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:600 15px/1.2 var(--font);color:var(--tx);margin-bottom:12px}
.gcol-h .i{font-size:19px}
.tag{margin-left:auto;font:500 12px/1 var(--font);color:var(--tx2);background:var(--s2);padding:6px 9px;border-radius:999px}
.kvs{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;align-items:center}
.kvs dt{font:400 13px/1.3 var(--font);color:var(--tx2)}
.kvs dd{margin:0;text-align:right;font:500 13.5px/1.3 var(--mono);color:var(--tx);word-break:break-word}
.kvs dd.hit{color:var(--crit)}
.kvs dd button{font:500 13.5px/1.3 var(--mono);color:var(--tx);background:var(--bg);border:1px solid var(--bdr);border-radius:8px;padding:6px 9px;min-height:34px;cursor:pointer;text-align:right}
.kvs dd button:hover{border-color:var(--ac-line);background:var(--ac-soft)}
.kvs dd button.hit{color:var(--crit);border-color:var(--crit-line);background:var(--crit-soft)}
.empty{margin:4px 0 0;font:400 14px/1.5 var(--font);color:var(--tx2);grid-column:1/-1}
.hint2{display:flex;align-items:center;gap:6px;margin:14px 0 0;font:500 13px/1.3 var(--font);color:var(--ac3)}
.rcpt{margin:14px 0 0;font:400 12.5px/1.4 var(--mono);color:var(--tx2)}

.cmp-wrap{grid-area:cmp;border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:18px;overflow-x:auto}
.cmp-h{font:600 15px/1.2 var(--font);margin:0 0 10px;color:var(--tx)}
.cmp{width:100%;border-collapse:collapse;font:400 13px/1.3 var(--font)}
.cmp th,.cmp td{padding:8px 6px;text-align:left;border-top:1px solid var(--bdr-soft)}
.cmp thead th{border-top:0;font:500 12px/1 var(--font);color:var(--tx2)}
.cmp tbody th{font-weight:500;color:var(--tx)}
.cmp td.o,.cmp td.s{font-family:var(--mono);font-size:12.5px;color:var(--tx)}
.cmp td.r{width:24px;text-align:right}
.cmp td.r .i{font-size:18px}
.cmp tr.ok .r{color:var(--ok)}
.cmp tr.no{background:var(--crit-soft)}
.cmp tr.no th,.cmp tr.no td{color:var(--crit)}
.cmp tr.skip th,.cmp tr.skip td{color:var(--tx3)}
.cmp tr.skip .r{color:var(--bdr-hover)}
@media(max-width:960px){.gate-grid{grid-template-columns:1fr;grid-template-areas:'v' 'cols' 'cmp'}}
@media(max-width:640px){.cols{grid-template-columns:1fr}.sc-pick{display:grid;grid-template-columns:1fr 1fr}.sc-pick button{justify-content:flex-start}.sc-pick button:first-child{grid-column:1/-1}}
.limit{margin-top:22px}

/* generic content blocks for verify / pilot */
.blk{margin-top:56px}
.blk h2{font:600 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--font);letter-spacing:-.02em;margin:0 0 6px;color:var(--tx)}
.blk > p{font-size:16px;line-height:1.55;color:var(--tx2);margin:6px 0 0;max-width:62ch}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:20px}
.tile{border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:18px;display:flex;flex-direction:column;gap:8px}
.tile .i{font-size:24px;color:var(--ac)}
.tile b{font:600 16px/1.3 var(--font);color:var(--tx)}
.tile span{font:400 14px/1.5 var(--font);color:var(--tx2)}
.tile em{font-style:normal;font:500 12px/1 var(--font);color:var(--ac3)}
.code{margin-top:16px;border-radius:12px;background:var(--term-bg);color:var(--term-tx);padding:16px;font:400 13px/1.6 var(--mono);overflow-x:auto;white-space:pre;max-width:100%}
.code .c{color:var(--term-mut)}
.weeks{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;counter-reset:wk}
.weeks li{border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:18px;display:flex;flex-direction:column;gap:6px}
.weeks li small{font:600 12px/1 var(--font);color:var(--ac3)}
.weeks li b{font:600 16px/1.3 var(--font);color:var(--tx)}
.weeks li span{font:400 14px/1.5 var(--font);color:var(--tx2)}
.checks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;max-width:72ch}
.checks li{display:flex;gap:10px;align-items:flex-start;font:400 15px/1.5 var(--font);color:var(--tx)}
.checks li .i{font-size:20px;color:var(--ok);margin-top:1px}
.checks li.x .i{color:var(--tx3)}

/* verify */
.vf{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-top:28px;align-items:start}
.vf-ed{border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:18px}
.vf-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.vf-top label{font:600 15px/1.2 var(--font);color:var(--tx)}
.vf textarea{width:100%;box-sizing:border-box;min-height:380px;resize:vertical;border-radius:12px;border:1px solid var(--bdr);background:var(--term-bg);color:var(--term-tx);padding:14px;font:400 13px/1.55 var(--mono);outline:none}
.vf textarea:focus{border-color:var(--ac);box-shadow:0 0 0 2px var(--ac)}
.vf-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vf-btns button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--bdr);background:var(--s1);font:500 14px/1 var(--font);color:var(--tx);cursor:pointer}
.vf-btns button:hover{border-color:var(--crit-line);background:var(--crit-soft);color:var(--crit)}
.vf-btns .rs{border-color:var(--tx);background:var(--tx);color:var(--tx-inverse)}
.vf-btns .rs:hover{background:#1C2130;color:#fff;border-color:#1C2130}
.vf-btns [hidden]{display:none}
.vf-side{display:grid;gap:16px}
.mono{font:500 13px/1.4 var(--mono)!important;color:var(--tx)!important;word-break:break-all}
.tiles.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
@media(max-width:860px){.vf{grid-template-columns:1fr}.vf textarea{min-height:300px}}

/* pilot */
.pilot-rep{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start;margin-top:16px}
.rep.light{width:auto;background:var(--tx);border-color:var(--tx)}
@media(max-width:760px){.pilot-rep{grid-template-columns:1fr}}

/* architecture */
.arch{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;position:relative}
.arch li{position:relative;border:1px solid var(--bdr);border-radius:var(--pr);background:var(--s1);padding:16px;display:flex;flex-direction:column;gap:6px}
.arch li .i{font-size:24px;color:var(--ac)}
.arch li b{font:600 15px/1.25 var(--font);color:var(--tx)}
.arch li span{font:400 13.5px/1.45 var(--font);color:var(--tx2)}
.arch li.you{border-color:var(--ac-line);background:var(--ac-soft)}
.arch li:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:6px;height:6px;border-top:2px solid var(--bdr-hover);border-right:2px solid var(--bdr-hover);transform:translateY(-50%) rotate(45deg)}
@media(max-width:900px){.arch{grid-template-columns:1fr}.arch li:not(:last-child)::after{right:auto;left:24px;top:auto;bottom:-8px;transform:rotate(135deg)}}
.code-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}
.code-2 .code{margin-top:6px;font-size:12.5px}
.code-t{font:600 14px/1.3 var(--font);color:var(--tx);margin:0}
@media(max-width:860px){.code-2{grid-template-columns:minmax(0,1fr)}}
.code-2>div{min-width:0}
.tile span a{color:var(--ac3)}
.lim .tile{border-left:3px solid var(--warn)}
.mono.diff{color:var(--crit)!important}
