*{box-sizing:border-box}body{margin:0;background:#0A0E1A;color:#E5E7EB;font-family:Arial,Helvetica,sans-serif}header{position:sticky;top:0;background:#050814;border-bottom:1px solid #263653;padding:14px 22px;z-index:2}h1,h2{letter-spacing:0}main{display:grid;grid-template-columns:260px 1fr;gap:20px;padding:20px}nav{display:grid;gap:8px;align-self:start;position:sticky;top:86px}button{background:#121A2E;color:#E5E7EB;border:1px solid #344766;border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}button:focus,input:focus,textarea:focus{outline:3px solid #FBBF24;outline-offset:2px}button.active,button:hover{border-color:#4ADE80}.panel{background:#121A2E;border:1px solid #263653;border-radius:8px;padding:18px;margin-bottom:16px}.overlay{position:fixed;inset:0;background:rgba(5,8,20,.94);display:none;place-items:center;z-index:5}.overlay.active{display:grid}.overlay .panel{width:min(520px,92vw)}.tool{display:none}.tool.active{display:block}label{display:block;margin:10px 0}input,textarea,select{width:100%;background:#050814;color:#E5E7EB;border:1px solid #344766;border-radius:6px;padding:10px;font:inherit}textarea{min-height:90px}.cipher,.mono,pre{font-family:Consolas,monospace;color:#FBBF24;white-space:pre-wrap}.status{font-family:Consolas,monospace;color:#4ADE80}.bars{height:270px;display:flex;align-items:end;gap:4px}.bars span{flex:1;text-align:center;font-size:12px}.bars b{display:block;background:#4ADE80;min-height:4px;transition:height .8s}.candidate{border:1px solid #344766;border-radius:6px;padding:8px;margin:6px 0}.ok{color:#4ADE80}.bad{color:#EF4444}@media(max-width:800px){main{grid-template-columns:1fr}nav{position:static}}