.c33-bank{--c33b-navy:#082f3a;--c33b-blue:#1473e6;--c33b-teal:#0a948a;--c33b-line:#d4e1df;--c33b-ink:#102d35;width:100%;max-width:900px;margin:0 0 42px;color:var(--c33b-ink);overflow-wrap:anywhere}.c33-bank *{box-sizing:border-box;min-width:0}.c33-bank__heading{padding:28px;border:1px solid #174c58;border-radius:16px 16px 0 0;background:var(--c33b-navy);color:#d9e9e7}.c33-bank__heading h2{margin:4px 0 8px;color:#fff;font-size:clamp(1.55rem,4vw,2.2rem);line-height:1.18}.c33-bank__heading p{margin:0}.c33-bank__kicker{color:#c9ef92!important;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.c33-bank__form{padding:28px;border:1px solid var(--c33b-line);border-top:0;background:#f6f8f7}.c33-bank__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.c33-bank label{display:block}.c33-bank label>span{display:block;margin-bottom:7px;font-weight:750}.c33-bank label em{color:#607578;font-size:.78rem;font-style:normal;font-weight:500}.c33-bank input{width:100%;max-width:100%;min-height:49px;padding:11px 13px;border:1px solid #b7cac8;border-radius:8px;background:#fff;color:var(--c33b-ink);font:inherit}.c33-bank small{display:block;margin-top:6px;color:#5e7376;font-size:.77rem;line-height:1.45}.c33-bank__input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #b7cac8;border-radius:8px;background:#fff;overflow:hidden}.c33-bank__input input{border:0;border-radius:0}.c33-bank__input b{padding:0 13px;color:#526b6d;font-size:.82rem}.c33-bank__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.c33-bank button{min-height:48px;padding:11px 18px;border:1px solid var(--c33b-blue);border-radius:8px;background:var(--c33b-blue);color:#fff;font:inherit;font-weight:760;cursor:pointer}.c33-bank .c33-bank__secondary{border-color:#aebfbe;background:#fff;color:var(--c33b-ink)}.c33-bank__error{margin:16px 0 0;color:#a52020;font-weight:700}
.c33-bank__result{width:100%;margin-top:22px;padding:28px;border:1px solid #bdd3d0;border-radius:14px;background:#f3f8f7;outline:none}.c33-bank__result-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.c33-bank__result-head span{display:block;color:#5e7376;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.c33-bank__result-head strong{display:block;margin-top:3px;color:var(--c33b-navy);font-size:clamp(1.9rem,5vw,2.7rem);line-height:1.15}.c33-bank__copy{flex:0 0 auto}.c33-bank__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.c33-bank__metrics>div{padding:16px;border:1px solid var(--c33b-line);border-radius:9px;background:#fff}.c33-bank__metrics span{display:block;color:#617477;font-size:.76rem}.c33-bank__metrics strong{display:block;margin-top:3px;color:var(--c33b-navy)}.c33-bank__method,.c33-bank__diagram-wrap{margin-top:22px;padding-top:20px;border-top:1px solid var(--c33b-line)}.c33-bank__method h3,.c33-bank__diagram-wrap h3{margin:0 0 10px;font-size:1.05rem}.c33-bank__method p{margin:0}.c33-bank__diagram{display:grid;gap:10px}.c33-bank__string{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px}.c33-bank__string>span{color:#5b7073;font-size:.75rem;font-weight:750}.c33-bank__cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:7px}.c33-bank__cells b{position:relative;padding:10px 5px;border:2px solid var(--c33b-teal);border-radius:6px;background:#fff;color:var(--c33b-navy);text-align:center;font-size:.75rem}.c33-bank__warnings{margin:18px 0 0;padding:14px 18px 14px 36px;border-left:4px solid #c37a18;background:#fff8e8}.c33-bank__warnings li+li{margin-top:7px}.c33-bank__note{margin:18px 0 0;color:#5e7073;font-size:.82rem}
@media(max-width:640px){.c33-bank{max-width:100%;overflow:hidden}.c33-bank__heading,.c33-bank__form,.c33-bank__result{padding:20px}.c33-bank__grid,.c33-bank__metrics{grid-template-columns:minmax(0,1fr)}.c33-bank__result-head{align-items:flex-start;flex-direction:column}.c33-bank__copy,.c33-bank__actions>*{width:100%}.c33-bank__string{grid-template-columns:minmax(0,1fr)}.c33-bank__cells{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}}
@media print{.c33-bank__form,.c33-bank__copy{display:none!important}.c33-bank__result{border:1px solid #777;background:#fff}}

